본문 바로가기
반응형

분류 전체보기252

[백준][Python] 2960번 에라토스테네스의 체 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 코드 N, K = map(int,input().split()) n_list = [False]*(N+1) cnt = 0 for i in range(2,N+1): if n_list[i] == False: for j in range(i,N+1,i): if n_list[j] == False: n_list[j] = True cnt += 1 if cnt == K: print(j) 설명 n_list라는 리스트를 만들어 처음 값을 False로 둔다. 2부터 차례대로 자신의 배수를 모두 지워나가서 리스트값을 True로 바꿔주면 결국 i값 중 소수만 (n_list[i.. 2022. 3. 15.
[백준][Python] 11653번 소인수분해 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 코드 N = int(input()) a = 2 while N != 1: for i in range(a,N+1): if N % i == 0: N //= i print(i) break a = i 설명 가장 작은 소수는 2이기 때문에 a는 처음에 2로 둔다. 2로 더이상 나눠지지 않으면 다음 수로 넘어가게 된다. 이때 a 값을 가장 최근에 나눠진 수로 업데이트해서 for문을 돌릴 범위를 줄여줘서 시간을 단축했다. 2022. 3. 14.
[백준][Python] 4256 트리 4256번: 트리 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 노드의 개수 n이 주어진다. (1 ≤ n ≤ 1,000) BT의 모든 노드에는 1부터 n까지 서로 다른 번호가 매겨져 있다. 다음 www.acmicpc.net 코드 import sys def post(preorder,inorder): if len(preorder) == 0: return elif len(preorder) == 1: print(preorder[0], end = ' ') return r_index = inorder.index(preorder[0]) # 루트노드가 inorder에서 몇 번째에 있는지 left_in = inorder[0:r_index] left_pre = preorder[1:len(.. 2022. 3. 11.
[백준][Python] 9489번 사촌 9489번: 사촌 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 노드의 수 n과 사촌의 수를 구해야 하는 노드의 번호 k가 주어진다. (1 ≤ n ≤ 1,000, 1 ≤ k ≤ 1,000,000) 다음 줄 www.acmicpc.net 코드 import sys while 1: n,k = map(int,sys.stdin.readline().split()) if n == 0 and k == 0: break else: dic = {} n_list = list(map(int,sys.stdin.readline().split())) cnt = 0 parent = [] if len(n_list) > 1: next = n_list[1] parent.append(next) for i i.. 2022. 3. 10.
반응형