[Coding Test]
[백준] 9372 파이썬(python) : 상근이의 여행
9372번: 상근이의 여행 분류가 트리인 문제. 방문처리를 해주는 리스트인 visit을 1차원 배열로 만들어야 한다. import sys from collections import deque t = int(sys.stdin.readline()) for _ in range(t): n, m = map(int, sys.stdin.readline().split()) graph = [ [] for _ in range(n+1)] visit = [False]*(n+1) for _ in range(m): a, b = map(int, sys.stdin.readline().split()) graph[a].append(b) graph[b].append(a) cnt = 0 def bfs(v): global cnt q = de..
[백준] 2745 파이썬(python) : 진법 변환
2745번: 진법 변환 import sys n, b = sys.stdin.readline().split() #1 print(int(n, int(b))) #2 #1 : n과 b를 문자열로 받아주고 #2 : int()함수를 사용하는데 n은 문자로 b는 숫자로 받아준다 관련 포스팅
[백준] 1026 파이썬(python) : 보물
https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net import sys n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) b = list(map(int, sys.stdin.readline().split())) a.sort(reverse=True) b.sort() res = 0 for i in range(n): res += a[i]*b[i] print(..
[백준] 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로 만..