코딩테스트 6

[백준] 13549번 숨바꼭질 3 풀이 파이썬(python)

13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net [문제] [코드] from collections import deque n , k = map(int, input().split()) visited = [0] * 100001 def bfs(): q = deque() q.append(n) while q: now = q.popleft() if now == k: return visited[now] for next_to in [now*2, now-1, now+1]: if 0

[백준] 2470번 두 용액 파이썬 풀이

2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net [문제] [코드] import sys input = sys.stdin.readline N = int(input()) solution = sorted(list(map(int, input().split()))) ##투포인터 start = 0 end = N-1 target = abs(solution[0] + solution[-1])#절대값 -> 0까지 거리 result = [solution[0], solution[-1]] #초기값 설..

[백준] 1240번 노드사이의 거리 파이썬 풀이

1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net [문제] [코드] import sys from collections import deque input = sys.stdin.readline n, m = map(int, input().split()) tree = [[] for _ in range(n+1)] #indexing을 위해서 +1사이즈로 구성 #두노드 사이 거리를 구하는 bfs def bfs(a, b): q = deque() q.append((a, 0)) visited = [False] * (n+1) visited[a] = True while q: s..

[백준]9934번 완전 이진 트리 파이썬(Python) 풀이

9934번: 완전 이진 트리 상근이는 슬로베니아의 도시 Donji Andrijevci를 여행하고 있다. 이 도시의 도로는 깊이가 K인 완전 이진 트리를 이루고 있다. 깊이가 K인 완전 이진 트리는 총 2K-1개의 노드로 이루어져 있다. (아래 www.acmicpc.net [문제] [코드] #중위 순회 문제 #순서가 주어지고 트리를 유추하는 문제 import sys input = sys.stdin.readline k = int(input()) squence = list(map(int, input().split())) trees = [[] for _ in range(k)] #완전 이진 트리이니까 각 층의 노드는 중간의 값 def binary_tree(array, depth): mid_index = len(a..

[백준] 1038번 감소하는 수 파이썬(Python) 풀이

1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net [문제] [코드] from itertools import combinations N = int(input()) result = [] for i in range(1, 11): for temp in combinations(range(0, 10), i): temp = list(temp) temp.sort(reverse=True) result.append(int("".join(map(str, temp)))) result.sort() try: print(r..

[백준] 1932번 정수 삼각형 파이썬(Python) 풀이

1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net [문제] [코드] import sys input = sys.stdin.readline n = int(input()) tree = [] for _ in range(n): tree.append([int(f) for f in input().split()]) for i in range(1, n): for j in range(0 , i+1): if j == 0: tree[i][0] += tree[i-1][0] elif j == i: tree[i][j] += tree[i-1][j-1] else: tree[i][j] += max(tree[i-1]..