문제 출처: www.acmicpc.net/problem/1500 1500번: 최대 곱 세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러개일 경우 그 곱을 가능한 최대로 하려고 한다. 가능한 최대의 곱을 출력한다. 만약 S=10, K=3이면, 3,3,4는 www.acmicpc.net 1. 문제 접근 방식 - 주어진 수를 나누고 나머지 숫자를 어떻게 배분하느냐가 관건이였다. 간단한 수로 몇번 실험을 한 결과 1을 가장 고르게 분배했을 경우 값이 가장 크게 나오는 것을 알고 그대로 적용해 보았다. 2. 내가 푼 코드 import sys S, K = map(int, sys.stdin.readline().split()) # 몫 q = S // K # 나머지 r = S..
문제 출처: www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1. 문제 접근 방식 - 동전을 리스트 형태로 받아 가장 큰 수부터 차근차근 나눠 가는 방법을 생각하였다. 2. 내가 푼 코드 import sys N, K = map(int, sys.stdin.readline().split()) coin = [] cnt = 0 for i in range(N): coin.append(int(sys.std..
문제 출처: www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 1 . 문제 접근 방식 - 먼저 무게를 입력 받고 오름차순 정렬을 한뒤 뒤집어서 [a*1, b*2, ...]의 방식을 사용하여 원소들 중 최대 값을 구하면 될 것이라고 생각하였다. 2 . 내가 푼 코드 import sys N = int(sys.stdin.readline()) new_list = [] # N개를 입력받은 후 리스트에 넣음 for i in range(N): w = int(sys..
문제 출처: www.acmicpc.net/problem/14405 14405번: 피카츄 피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문 www.acmicpc.net 1 . 문제 접근 방식 - 문제에서 주어진 pi, ka, chu의 문자가 나올경우 그 문자를 제외하고 남은 문자열의 개수를 확인하면 될 것 이라고 생각하였다. 2 . 내가 푼 코드 S = input() # 조건을 만족하는 경우 계속 반복문을 돌기 위해 while문 사용 while True: # pi라는 문자가 있는 경우 pi라는 문자를 공백으로 대체 # fi..