Coding Test/백준
-
[백준 1929번] 소수 구하기Coding Test/백준 2021. 3. 4. 23:43
# 문제 내 풀이 m, n = map(int, input().split()) # 처음엔 모든 수를 소수(True)인 것으로 초기화(0, 1은 제외) array = [True for i in range(n + 1)] # 에라토스테네스의 체 알고리즘 수행 # 2부터 n의 제곱근까지의 모든 수를 확인하며 for i in range(2, int(n ** 0.5) + 1): if array[i] == True: # i를 제외한 i의 모든 배수를 지우기 j = 2 while i * j 1 and array[i]: print(i) 생각해볼 점 마지막 출력에서 1을 거르는 조건을 생각하지 못해 오래 걸렸다. 예외 케이스를 항상 염두하자.
-
[백준 1018번] 체스판 다시 칠하기Coding Test/백준 2021. 2. 28. 19:29
# 문제 내 풀이 - 문제 풀이 실패, 수정 답안 # 첫 칸을 검은색, 흰색 각각으로 칠할 때, 둘 중 다시 칠해야 하는 횟수가 최소인 값을 리턴하는 함수 정의 def paint_board(chess_board): # 첫 칸이 검은색일 경우와 흰색일 경우, 각각 다시 칠하는 횟수 start_b, start_w = 0, 0 for i in range(8): for j in range(8): if (i + j) % 2 == 0: if chess_board[i][j] != 'B': start_b += 1 if chess_board[i][j] != 'W': start_w += 1 else: if chess_board[i][j] != 'W': start_b += 1 if chess_board[i][j] != 'B..
-
[백준 2887번] 행성 터널Coding Test/백준 2021. 2. 26. 20:06
# 문제 내 풀이 - 수정 답안 import sys input = sys.stdin.readline # 특정 원소가 속한 집합을 찾기 (Find 연산) def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] # 두 원소가 속한 집합을 합치기 (Union 연산) def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b n= int(input()) loc = [] # 좌표를 입력 받을 리스트 edges..
-
[백준 1978번] 소수 찾기Coding Test/백준 2021. 2. 25. 23:38
# 문제 내 풀이 # 내 풀이 n = int(input()) nums = list(map(int, input().split())) result = 0 # 소수의 개수 # 주어진 수들 각각에 대하여 연산 수행 for num in nums: # 1은 소수가 아니므로 제외 if num == 1: continue check = True # 소수 판별을 위한 flag # 1과 자기 자신을 제외한 모든 수에 대하여 for i in range(2, num): # 나누어 떨어지면 소수가 아님 if num % i == 0: check = False break # 소수라면 개수 count if check: result += 1 # 결과 출력 print(result)
-
[백준 1774번] 우주신과의 교감Coding Test/백준 2021. 2. 23. 18:51
# 문제 내 풀이 from itertools import combinations import sys input = sys.stdin.readline # 특정 원소가 속한 집합을 찾기 (Find 연산) def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] # 두 원소가 속한 집합을 합치기 (Union 연산) def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b n, m = map(int, inp..
-
[백준 4386번] 별자리 만들기Coding Test/백준 2021. 2. 22. 03:19
# 문제 내 풀이 from itertools import combinations import sys input = sys.stdin.readline # 특정 원소가 속한 집합을 찾기 (Find 연산) def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] # 두 원소가 속한 집합을 합치기 (Union 연산) def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b n = int(input()) lo..
-
[백준 1197번] 최소 스패닝 트리Coding Test/백준 2021. 2. 21. 03:35
# 문제 내 풀이 import sys input = sys.stdin.readline # 특정 원소가 속한 집합을 찾기 (Find 연산) def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] # 두 원소가 속한 집합을 합치기 (Union 연산) def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b # 노드의 개수와 간선(Union 연산)의 개수 입력 받기 v, e = map(int, input..