목록구현 (35)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 풀이 코드 a = [[0] * 15 for i in range(5)] for i in range(5): w = list(input()) w_len = len(w) for j in range(w_len): a[i][j] = w[j] for i in range(15): for j in range(5): if a[j][i] == 0: continue; else: print(a[j][i..
문제 링크 https://www.acmicpc.net/problem/14912 14912번: 숫자 빈도수 자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다. www.acmicpc.net 풀이 코드 n,m = map(int,input().split()) a = '' for i in range(1, n+1): a = a + str(i) print(a.count(str(m))) 코드 해석 수를 문자열로 길게 나열한다. ex) 12345678910111213 이후 문자열에서 count를 사용하여 m의 개수를 출력한다.
문제 링크 https://www.acmicpc.net/problem/14582 14582번: 오늘도 졌다 첫 번째 줄에는 9개의 정수가 주어지는데, 오늘 경기에서 울림 제미니스가 1회 초, 2회 초, ..., 9회 초에 낸 득점이 주어진다. 두 번째 줄에도 9개의 정수가 주어지는데, 스타트링크 걸리버스가 1회 www.acmicpc.net 풀이 코드 a = list(map(int, input().split())) b = list(map(int, input().split())) asum, bsum = 0, 0 cnt = 0 for i in range(9): asum += a[i] if asum > bsum and cnt == 0: cnt += 1 if asum < bsum and cnt == 1: cnt +..
문제 링크 https://www.acmicpc.net/problem/2535 2535번: 아시아 정보올림피아드 첫 번째 줄에는 대회참가 학생 수를 나타내는 N이 주어진다. 단, 3 ≤ N ≤ 100이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 학생의 소속 국가 번호, 학생 번호, 그리고 성적이 하나의 빈칸을 사 www.acmicpc.net 풀이 코드 N = int(input()) students = [] for student_index in range(N): student_info = list(map(int, input().split(' '))) students.append(student_info) students.sort(key=lambda student: student[2], reverse=Tr..
문제 링크 https://www.acmicpc.net/problem/11292 11292번: 키 큰 사람 민우는 학창시절 승부욕이 강해서 달리기를 할 때에도 누가 가장 빠른지를 중요하게 생각하고, 시험을 볼 때에도 누가 가장 성적이 높은지를 중요하게 생각한다. 이번에 반에서 키를 측정하였 www.acmicpc.net 풀이 코드 students = [] while True: N = int(input()) if N == 0: break else: for student_index in range(N): student = input().split(' ') student[1] = float(student[1]) students.append(student) max_height = max(students, key=l..
문제 링크 https://www.acmicpc.net/problem/13015 13015번: 별 찍기 - 23 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 풀이 코드 n = int(input()) for i in range(1, n + 1): if i == 1 or i == 2 * n: print("*" * n + " " * (2 * (n - 1) - 1) + "*" * n) elif i != n: print(" " * (i - 1) + "*" + " " * (n - 2) + "*" + " " * (2 * (n - i) - 1) + "*" + " " * (n - 2) + "*") else: print(" " * (i - 1) + "*" + " " * (n - 2) + ..
문제 링크 https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 풀이 코드 import sys input = sys.stdin.readline n, k = map(int, input().split()) s = [] for i in range(n): s.append(list(map(int, input().split()))) s.sort(key=lambda x : (-x[1], -x[2], -x[3])) for i in range(..
문제 링크 https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 코드 n = int(input()) a = [] card = [i for i in range(1, n + 1)] while len(card) != 1: a.append(card.pop(0)) card.append(card.pop(0)) for j in a: print(j, end=' ') print(card[0]) 코드 해석 카드 배열을 만든 뒤 앞카드를 버리고 두번쨰 카드를 뒤에..