설탕 배달(2839) - JS

박정호·2022년 3월 13일
0

BAEKJOON

목록 보기
53/57
post-thumbnail

다른 분들의 코드를 보면 간단해보여 결과를 얻지 못할거 같았지만 저만의 방식으로 해결했습니다.

큰틀을 나누면 -1 이 나오는 숫자들과 그렇지 않은 숫자들입니다.
문제에서 원하는 케이스가 나오지 않는 숫자가 2,4,7입니다. 사실, 예외 코드를 만들어서 이 숫자들을 뽑아내고 싶었는데 생각대로 결과가 나오지 않았고 숫자가 더 커져도 이 세 숫자만 -1 값이 나올까라는 의문도 들었습니다. 하지만, 만들어놓은 조건들에 숫자들을 대입했을 때 예외 상황이 발생하지 않아 2,4,7이 입력될 경우 -1이 나오게 조건을 작성하였습니다.

그리고 나머지는 첫번째로 5의 배수인 입력값입니다.
문제의 조건에서 최대한 적은 봉지를 쓰기 위해서는 5킬로그램 봉지가 최대로 쓰여야 하므로 5의 배수인 입력값은 5로 나눈 목값이 봉지의 개수가 됩니다.

다음으로 5의 배수로 나눴을 때 나머지가 0이 아닐 경우 그 나머지가 3으로 나누어진다면 5로 나눈 목값과 나머지를 3으로 나눴을 때 목값을 더한 경우가 봉지의 개수가 됩니다.

그래도 3의 배수가 아닐 경우 입력값에서 3을 반복해서 빼줍니다. 이때 5의 배수가 만족된다면 반복문은 멈추고 반복한 개수에 1을 더하고 5로 나눈 목값의 합이 봉지의 개수가 됩니다.

다시 생각해보면 더 간단히 코드를 짤 수 있을거 같지만... 갈 길이 멉니다 :)

profile
기록하여 기억하고, 계획하여 실천하자. will be a FE developer (HOME버튼을 클릭하여 Notion으로 놀러오세요!)

0개의 댓글