[Coding Test]/[백준]
[백준] 1373 파이썬(python) : 2진수 8진수
https://www.acmicpc.net/problem/1373 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net import sys n = sys.stdin.readline().rstrip() tmp = int(n, 2) tmp2 = oct(tmp) print(tmp2[2:]) 비슷한 문제 (https://hgk5722.tistory.com/289) 진수 변환 (https://hgk5722.tistory.com/290)
[백준] 1212 파이썬(python) : 8진수 2진수
https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net import sys n = sys.stdin.readline().rstrip() tmp = int(n, 8) #1 tmp2 = bin(tmp) #2 print(tmp2[2:]) #3 #1 : 입력받은 문자열을 8진수이므로 int(a, b)를 이용하여 정수형으로 바꾼다 #2 : 바뀐 정수형을 다시 2진수 형태로 바꾼다 #3 : 2진수는 앞에 0b가 붙으므로 그것을 지우고 출력한다 예제1 314를 출력하면 '0b11001100' 가 되는데 앞 두자리를 빼고 출력해줘야 한다. 진수변환(https://hgk57..
[백준] 2747 파이썬(python) : 피보나치 수
https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net import sys n = int(sys.stdin.readline()) x, y = 1, 1 #1 for _ in range(n-1): #2 x, y = y, x+y #3 print(x) #4 #1 : 피보나치 수열의 첫 두 수는 1 1이다 #2 : 반복을 원하는 횟수의 -1회 만큼 해준다 #3 : 한칸 씩 움직여서 y를 두 수의 합으로 만들고 이전 y를 x로 만..
[백준] 1158 파이썬(python) : 요세푸스 문제
1158번: 요세푸스 문제 import sysfrom collections import dequen, k = map(int, sys.stdin.readline().split())circle = [ str(i) for i in range(1, n+1) ] #1ans = deque()circle_len, idx, ans = n, 0, [] #2while len(circle) != 0: #3 idx += (k-1) #4 ans.append(circle.pop(idx % circle_len)) #5 idx %= circle_len #6 circle_len -= 1 #7tmp = ', '.join(ans)print(f'') #8 #1 : 리스트를 1부터 n까지 채워준다#2 : 리스트가 하나..
[백준] 2109 파이썬(python) : 순회강연 -(추가예시)
https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net import sys, heapq n = int(sys.stdin.readline()) lecture = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ] lecture.sort(key=lambda x : x[1]) #1 heap = [] for i in lecture: #2 heapq.heap..
[백준] 1202 파이썬(python) : 보석 도둑 - 이중heap
https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net import sys, heapq n, k = map(int, sys.stdin.readline().split()) jewel = [] for _ in range(n): heapq.heappush(jewel, list(map(int, sys.stdin.readline().split()))) #1 bags = [ int(sys.stdin.r..