코딩테스트
거스름돈 거슬러주기 - [그리디]
당신은 음식점의 계산을 도와주는 점원입니다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원 짜리 동전이 무한히 존재한다고 가정. 손님에게 거슬러 주어야할 돈이 N원일 때 거슬러 주어야 할 동전의 최소 개수를 구하세요 단, 거슬러 줘야 할 돈 N은 항상 10의 배수 n = 1260 count = 0 # 큰 단위의 화폐부터 차례대로 확인 array = [500, 100, 50, 10] for coin in array: count =+ n // coin # 해당 화폐로 거슬러 줄 수 있는 동전의 개수 세기 n %= coin # n을 coin으로 나눈 나머지 값 print(count)
[백준 기본수학1] 1193 분수찾기 파이썬
n = int(input()) chk = 0 cnt = 0 while n > chk: cnt += 1 # cnt = 껍질 수 chk += cnt # chk = 해당껍질까지의 분수 개수 rst = chk - n if cnt % 2 == 0: # 위에서 시작 print(str(cnt - rst) + '/' + str(rst + 1)) else: # 아래에서 시작 print(str(rst + 1) + '/' + str(cnt - rst)) https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net