yakubu   6년 전

- 입력이 3~5000 사이의 값이면 봉투 개수를 계산합니다.

- 3이하일때는 1을 출력합니다.

- 4이하일때는 -1을 출력합니다.

- 5의 배수이면 5로 나눈 몫을 출력합니다.

- 5로 나눈 나머지가 3이하이면 몫+1을 출력합니다.

- 5로나눈 나머지가 4이상이면 몫+2를 출력합니다. 


어떤 수를 입력해도 봉투 개수는 정확히 나오는것 같은데 제가 뭘 틀린건지 감이 안옵니다.

도와주세요.

djm03178   6년 전

질문을 올리기 전에 질문 게시판의 다른 질문들을 먼저 읽어보세요. 이 코드에 반례가 되는 답변이 수도 없이 많이 나옵니다. https://www.acmicpc.net/board/...

특히 https://www.acmicpc.net/board/... 에도 반례가 있습니다.

chltjrwns1gh   6년 전

사실 가능한 모든 경우의 수를 대입해 봐도 시간 초과가 나지 않습니다.

chltjrwns1gh   6년 전

모든 경우의 수를 확인하는 파이썬 3 코드입니다.

파이썬 3 를 모르셔도 대충 어떻게 작동하는지는 보일겁니다.

a = int(input())
sugar = []
for i in range(0, 1700):
    for j in range(0, 1000):
        if a == 3*i + 5*j:
            sugar.append(i+j)
sugar.sort()
if sugar == []:
    print(-1)
else:
    print(sugar[0])

댓글을 작성하려면 로그인해야 합니다.