목록전체 글 (210)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/2485 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가 www.acmicpc.net 풀이 코드 import sys from math import gcd N = int(sys.stdin.readline()) a = int(sys.stdin.readline()) arr = [] for i in range(N-1): num = int(sys.stdin.readline()) arr.append(num - a) a = num g = arr[0] for j in range..
문제 링크 https://www.acmicpc.net/problem/11508 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net 풀이 코드 n = int(input()) c = [] for i in range(n): c.append(int(input())) c.sort(reverse = True) result = 0 for i in range(2,len(c),3): result += c[i] print(sum(c)-result) 코드 해석 받은 수를 3개 단위로 끊은 뒤 각각 세번째로 오는 수를 뺀 나..
문제 링크 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]) 코드 해석 카드 배열을 만든 뒤 앞카드를 버리고 두번쨰 카드를 뒤에..