11650 좌표 정렬하기 Python def main(): testcase = int(input()) numbers = [] for _ in range(testcase): numbers.append(list(map(int, input().split()))) for number in sorted(numbers, key=lambda x: (x[0], x[1])): print(" ".join([str(n) for n in number])) main() 백준 알고리즘/실버 2022.03.19
2609 최대공약수와 최소공배수 Python def main(): a, b = map(int, input().split()) #a가 더 큰 값 if a < b: a, b = b, a for number in range(b, 0, -1): if a % number == 0 and b % number == 0: print(number) break start = a while True: if start % a == 0 and start % b == 0: print(start) break else: start += 1 main() 백준 알고리즘/실버 2022.03.18
1148 단어 만들기 Python import sys input = sys.stdin.readline dictionary_list = [] def main(): result_list = [] dict_finish = False while True: input_string = input().strip() if input_string == "-": dict_finish = True elif not dict_finish: dictionary_list.append(input_string) elif input_string == "#": break else: # print(input_string, 1) # puzzle.append([input_string[:3], input_string[3:6], input_string[6:]]) re.. 백준 알고리즘/실버 2022.03.15
1138 한 줄로 서기 Python def make_line(number:int, people:list, people_height:list, line:list)-> int: #만약 현재 숫자가 라인에 들어가려는데, 앞에 나보다 키 큰 사람의 수가 #맞지 않으면 넣지 않는다 if len([v for v in line if v > number]) != people[number - 1]: return line.append(number)#라인에 들어감 people_height.remove(number)#라인에 들어간 사람을 뺀다 if len(people_height) == 0:#라인에 다 들어간 거 print(" ".join([str(v) for v in line])) return for i in people_height: make_.. 백준 알고리즘/실버 2022.03.14
1117 색칠1 Python 1번 풀이(Pypy3으로만 통과) def main(): w, h, f, c, x1, y1, x2, y2 = map(int, input().split()) make_x_len = w - f reverse_x = False if make_x_len = w - f: count = 1 else: count = 2 count *= split_y if (x >= x1) and (x < x2):.. 백준 알고리즘/실버 2022.03.13
1003 피보나치 함수 Python count_0 = [1, 0, 1]#0, 1, 2일 때 0개수 배열 count_1 = [0, 1, 1]#0, 1, 2일 때 1개수 배열 def fibonacci(n): for number in range(len(count_0), n + 1): count_0.append(count_0[-2] + count_0[-1]) count_1.append(count_0[-2] + count_1[-1]) def main(): testcase = int(input()) result = [] for _ in range(testcase): number = int(input()) fibonacci(number) result.append(number) for num in result: print(f"{count_0.. 백준 알고리즘/실버 2022.03.11
1058 친구 Python def main(): n = int(input()) # friends_list = [[False for _ in range(n)] for _ in range(n)] friends_list = [] friends_count = [] for _ in range(n): person = [True if v == "Y" else False for v in list(input())] friends_list.append(person) for i, v_list in enumerate(friends_list): friends_index_set = set() for index, v in enumerate(v_list): if v: friends_index_set.add(index) #친구의 친구 찾기 for .. 백준 알고리즘/실버 2022.03.10
1024 수열의 합 Python - 3 3, 1 2, len(result_list) > 100일 때 체크를 하지 않아 시간이 좀 걸렸다. def main(): n, l = map(int, input().split()) split_number = l while n + 1 >= split_number: result_list = list() center_number = n // split_number total = center_number result_list.append(center_number) up_index = 1 down_index = 1 if n % split_number != 0: up_index = 2 total += center_number + 1 result_list.append(center_number + 1.. 백준 알고리즘/실버 2022.03.09
1012 유기농 배추 Python - 최대 재귀 깊이 설정 X 시 런타임 에 import sys sys.setrecursionlimit(10**6)#최대 재귀 깊이 설정 #테스트 케이스 개수 입력 #for 테스트 케이스 #가로 세로 배추 개수 입력 #배추 심어져있는 x, y 좌표 입력 xy = ((1, 0), (0, 1), (-1, 0), (0, -1)) def visit(visited:list, exist_field:list, x, y) -> list: if [x, y] in exist_field and not visited[x][y]: visited[x][y] = True for tuple_xy in xy: visited = visit(visited, exist_field, x+ tuple_xy[0], y + tuple_.. 백준 알고리즘/실버 2022.03.08
1105 팔 Python #각 자리 수 계산 #맨 앞부터 차이 계산 -> 차이가 0이면 같은 숫자 -> 0이 아니면 8X #l보다 크거나 같은, r보다 작거나 같은 l, r = input().split() def main(): count = 0 if len(l) != len(r): return count for pair in zip(l, r): if int(pair[0]) - int(pair[1]) == 0: if int(pair[0]) == 8: count += 1 else: break return count print(main()) 백준 알고리즘/실버 2022.03.07