반응형

BAEKJOON 4

BAEKJOON #2108

해당 문제에는 빈도수 구하는게 관건이었던 문제다. 딕셔너리에 넣어서 Key값에 따라 Value값을 증가 시켰다. dic.get 을 사용해 최대 빈도값과 같은 Key값을 찾는 방식으로 했다. 코드 : import sys input=sys.stdin.readline N = int(input()) number_list = [] for _ in range(N): number_list.append(int(input())) #산술평균 avg = int(round(sum(number_list)/N, 0)) #중앙값 number_list.sort() med = number_list[N//2] #최빈값 #빈도수 구하기 dic = dict() for i in number_list: if i in dic: dic[i] +=..

BAEKJOON #4796

문제 요약 캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. (L< P < V) 아이디어 휴가일수(V)에서 P/L만큼 조정해야한다. ex) P=8, L=5, L=20 캠핑장을 연속하는 8일 중, 5일동안만 사용할 수 있다. 강산이는 이제 막 20일짜리 휴가를 시작했다. 이를 표로 시각화 해보면 더 이해하기 쉽다. 1일 2일 3일 4일 5일 1일 2일 3일 4일 1일 2일 3일 4일 5일 8일 중에 5일을 사용하고 난뒤, 3일 뒤에 사용할 수 있다. 8일씩 묶고 한 묶음 안에 5일씩 더해주고, 남은 5일은 3일 뒤니까 5일 더할 수 있다. 이를 식으로 표현해보자. V//P*L + (V%8) 20//8*5 + (20%8) 그런데, 문제가 생긴다. 만약 나머..

BAEKJOON #2720

이 문제에서 가장 중요한 핵심 포인트는 "동전의 개수 최소" 를 구하는 것이다. 동전의 개수가 최소가 되려면 동전이 최대 값이어야 한다. ▶ 큰 값 부터 거스름돈을 나누고 (쿼터>다임>니켈수>페니) 하나씩 차례대로 나눈 몫이 정답이다. 코드 : num = int(input()) case = [] for i in range(num): change = int(input()) #거스름돈 입력 case.append(change) #각 테스트케이스 리스트로 담아둠 for i in case: # 테스트 케이스 마다 가장 큰 수부터 나눈 몫 구하기 quo1 = i // 25 res1 = i % 25 quo2 = res1 // 10 res2 = res1 % 10 quo3 = res2 // 5 res3 = res2 % ..

반응형