목록Python (169)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/5555 5555번: 반지 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 www.acmicpc.net 풀이 코드 find_string = input() N = int(input()) string_ring_count = 0 for ring_index in range(N): ring = input() ring += ring if ring.find(find_string) != -1: string_ring_count += 1 print(string_ring_count) 코드 해석 반지에 새겨진 문자열을 ..
문제 링크 https://www.acmicpc.net/problem/2822 2822번: 점수 계산 8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문 www.acmicpc.net 풀이 코드 score = [] for i in range(8): score.append(int(input())) temp = [] answer = 0 for i in range(5): answer += max(score) temp.append(score.index(max(score)) + 1) score[score.index(max(score))] = -1 temp.sort() ..
문제 링크 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/3049 3049번: 다각형의 대각선 세 대각선이 한 점에서 만나지 않는 볼록 N각형이 주어졌을 때, 대각선의 교차점의 개수를 세는 프로그램을 작성하시오. 아래 그림은 위의 조건을 만족하는 한 육각형의 교차점 그림이다. 모든 www.acmicpc.net 풀이 코드 n = int(input()) print(int(n*(n-1)*(n-2)*(n-3)/24)) 코드 해석 사각형을 몇 개 만들 수 있는지 알면 대각선들의 꼭짓점의 총개수도 구할 수 있다. n개의 꼭지점 중에 4개의 꼭짓점을 순서 없이 고르는 연산은 n*(n-1)*(n-2)*(n-3)/24이다.
문제 링크 https://www.acmicpc.net/problem/9656 9656번: 돌 게임 2 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 풀이 코드 n = int(input()) print("CY" if n % 2 else "SK") 코드 해석 짝수면 SK 홀수면 CY를 출력한다.
문제 링크 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]) 코드 해석 카드 배열을 만든 뒤 앞카드를 버리고 두번쨰 카드를 뒤에..
문제 링크 https://www.acmicpc.net/problem/1312 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 풀이 코드 A,B,N = map(int, input().split()) for i in range(N) : A = (A%B)*10 result = A//B print(result) 코드 해석 런타임 에러때문에 수학적인 방식으로 풀이하였다.
문제 링크 https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 풀이 코드 n = int(input()) one = int(input()) vote = [] count = 0 for _ in range(n - 1): vote.append(int(input())) vote.sort(reverse=True) if n == 1: print(0) else: while vote[0] >= one: one += 1 vote[0] -= 1 count ..