본문 바로가기

알고리즘/백준온라인저지 (Python)12

[백준온라인저지] 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.
[백준온라인저지] 1747번 - 소수&팰린드롬 https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net import sys n = int(sys.stdin.readline()) max = 1000001 sosu = [False, False] + [True] * (max-2) for i in range(2, int(max ** 0.5) + 1): if sosu[i]: for j in range(i+i, max, i): if sosu[j]: sosu[j] = Fal.. 2021. 8. 24.