본문 바로가기

전체 글33

[백준온라인저지] 2747 - 피보나치 수 https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net import sys n = int(sys.stdin.readline()) fibo_list = [0] * (n+1) def fibo(n): fibo_list[0] = 0 if n > 0: fibo_list[1] = 1 for i in range(2, n+1): fibo_list[i] = fibo_list[i-1] + fibo_list[i-2] fibo(n) prin.. 2021. 8. 24.
[백준온라인저지] 8979 - 올림픽 https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net import sys n, k = map(int, sys.stdin.readline().split(' ')) medals = [ list(map(int, sys.stdin.readline().split(' '))) for _ in range(n)] medals.sort(key=lambda x : (-x[1], -x[2], -x[3])) def is_equal(medals, su.. 2021. 8. 24.
[백준온라인저지] 2816 - 디지털 티비 https://www.acmicpc.net/problem/2816 2816번: 디지털 티비 2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다. 원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니 www.acmicpc.net import sys cs = [] result = '' n = int(sys.stdin.readline()) for i in range(n): c = input() cs.append(c) kbs1_index = cs.index('KBS1') for i in range(kbs1_index): result += '1' for i in range(kbs1_index): result .. 2021. 8. 24.
[백준온라인저지] 2621 - 카드게임 https://www.acmicpc.net/problem/2621 2621번: 카드게임 근우는 오늘 재미있는 카드 게임을 배우고 있다. 카드는 빨간색, 파란색, 노란색, 녹색의 네 가지 색이 있고, 색깔별로 1부터 9까지 숫자가 쓰여진 카드가 9장씩 있다. 카드는 모두 36(=4x9)장이다. www.acmicpc.net import sys result = 0 cards = [list(sys.stdin.readline().strip()) for _ in range(5)] colors = [x[0] for x in cards] numbers = [int(x[2]) for x in cards] hash_color = {} hash_number = {} for c in colors: if c in hash_co.. 2021. 8. 24.
[백준온라인저지] 1652 - 누울 자리를 찾아라 https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net import sys n = int(sys.stdin.readline()) garo_count = 0 sero_count = 0 seros = [''] * n for i in range(n): line = input() j = 0 for l in line: seros[j] = seros[j] + l j += 1 line = line.split('X') for l in line: if len.. 2021. 8. 24.
[백준온라인저지] 10989 - 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net import sys result = [0 for _ in range(10001)] n = int(sys.stdin.readline()) for i in range(n): num = int(sys.stdin.readline()) result[num] += 1 for i in range(10001): if result[i] != 0: for j in range(result[i]): print(i) 2021. 8. 24.