Home

[백준] 14425번 문자열 집합 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/14425 2. 풀이 2.1. 오답 풀이 집합을 이용하여 N과 M 문자열 집합의 교집합을 사용해서 문제를 해결했습니다. N, M = map(int, input().split()) N_set, M_set = set(), set() for _ in range(N): N_set.add(input()) for _ in range(M): M_set.add(input()) print(len(N_set & M_set)) 2.2. 정답 풀이 M 문자열에 동일한 문자열이 들어오는 경우를 고려하지 않으면, 위의 문제 풀이는 오답이...

Read more

[백준] 9498번 시험 성적 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/9498 2. 풀이 2.1. 내풀이 N = int(input()) if N >= 90 : print('A') elif N >= 80: print('B') elif N >= 70: print('C') elif N >= 60: print('D') else: print('F') 2.2. 숏코딩 print('FFFFFFDCBAA'[int(input())//10])

Read more

[백준] 1991번 트리 순회 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/1991 2. 풀이 python의 딕셔너리를 이용하여 문제를 해결합니다. 아래의 순서를 지키면서 문제를 해결합니다. 전위순회 (Pre-order) : Root -> 왼쪽 subtree -> 오른쪽 subtree 중위순회 (in-order) : 왼쪽 subtree -> Root -> 오른쪽 subtree 후위순회 (post-order) : 왼쪽 subtree -> 오른쪽 subtree -> Root n = int(input()) dic = {} arr = [] for _ in range(n): ...

Read more

[백준] 2630번 색종이 만들기 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/2630 2. 풀이 재귀함수를 통해서 쉽게 문제를 해결할 수 있습니다. blue_paper, white_paper = 0, 0 N = int(input()) arr = [ list(map(int, input().split())) for _ in range(N) ] ## 재귀 함수 -> 정해진 구역의 값이 다 동일한지 확인 def is_one_paper(size, row, col): global blue_paper, white_paper base = arr[row][col] for r in range(row, ro...

Read more

[백준] 11866번 요세푸스 문제 0 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/11866 2. 풀이 queue를 이용하면 쉽게 문제를 해결할 수 있다. from collections import deque N, K = map(int, input().split()) answer = [] queue = deque([x + 1 for x in range(N)]) while len(queue): for _ in range(K): queue.append(str(queue.popleft())) answer.append(queue.pop()) print('<%s>' % ', '.joi...

Read more

[프로그래머스] 행렬의 덧셈 문제 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12950 2. 풀이 def solution(arr1, arr2): row, col = len(arr1), len(arr1[0]) answer = [ [0] * col for _ in range(row) ] for r in range(row): for c in range(col): answer[r][c] = arr1[r][c] + arr2[r][c] return answer

Read more