99클럽 코테 스터디 14일차 TIL: 거스름돈 그리디

2024. 11. 11. 00:48·일기장/항해99클럽 4기

오늘의 문제: 14916. 거스름돈

오늘은 거스름돈을 계산하는 문제이다. 사실 거스름돈이 서로가 배수/약수 관계라면 단순 계산이 가능하겠지만 2원짜리 동전과 5원짜리 동전이기 때문에 무조건 거스름돈이 크다고 개수가 많지는 않다.

 

다만 문제 알고리즘 분류를 봐서도 알 수 있듯이 DP를 활용하여 해결하는 것이 가능하다. 거스름돈이 2씩 커질 때마다 1, 5씩 커질 때마다 1을 추가하는 배열을 만들면 선형시간으로 해결할 수 있는 것이다.

 

하지만 내가 예전에 풀었던 방식을 보면 아주 단순하게 수식으로 해결했다. 기본적으로 가장 거스름돈의 개수가 적을 때가 답이기에 무조건 5원을 우선적으로 내는게 맞긴하기에 그걸 우선적으로 생각한 수식이다.

n=int(input())
k=n%5
if n in [1, 3]: print(-1)
elif k%2==0: print(n//5+k//2)
else: print((n//5-1)+(k+5)//2)

오늘의 회고

처음에 생각했던 것보다 점점 방법이 단순해지긴 하지만, 예전의 내가 그리 멍청하지 않았다는 생각이 든다. DP로 해결하는 것도 충분한 의미가 있긴 하지만 빨리 풀 수 있는 방법이 있다면 빨리 풀어버리자.

'일기장 > 항해99클럽 4기' 카테고리의 다른 글

99클럽 코테 스터디 16일차 TIL: 그리디의 사고방식  (2) 2024.11.13
99클럽 코테 스터디 15일차 TIL: 그리디 정석  (0) 2024.11.12
99클럽 코테 스터디 13일차 TIL: 그리디 알고리즘  (0) 2024.11.09
99클럽 코테 스터디 12일차 TIL: 3차원 BFS  (0) 2024.11.09
99클럽 코테 스터디 11일차 TIL: 골드 너비 우선 탐색  (0) 2024.11.07
'일기장/항해99클럽 4기' 카테고리의 다른 글
  • 99클럽 코테 스터디 16일차 TIL: 그리디의 사고방식
  • 99클럽 코테 스터디 15일차 TIL: 그리디 정석
  • 99클럽 코테 스터디 13일차 TIL: 그리디 알고리즘
  • 99클럽 코테 스터디 12일차 TIL: 3차원 BFS
미역굳
미역굳
.
  • 미역굳
    BE THE DEVELOPER
    미역굳
  • 전체
    오늘
    어제
    • TOTAL (60)
      • 안내 데스크 (1)
      • Google 공간 (3)
        • 프로젝트 트랙 1기 (3)
      • 자유공간 (9)
        • 임시학습실 (2)
        • 중앙 회의실 (5)
        • 알고리즘 연구실 (2)
      • 일기장 (47)
        • 우아한테크코스 7기 (12)
        • 항해99클럽 4기 (35)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발자취업
    solved.ac
    코드잇 강의
    코드잇 JavaScript 프론트엔드 개발자
    오블완
    리뷰어
    소수점 출력
    티스토리챌린지
    스트릭
    7기
    백준 1000문제
    백준 스트릭
    수행 시간
    Til
    백준
    프리코스
    백준 문제 출제
    우테코
    cout.precision
    우아한테크코스
    코드잇 Python 풀스택 개발자
    코드잇
    fixed
    항해99
    개발자
    timeval
    파이썬
    길벗
    코딩테스트준비
    99클럽
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
미역굳
99클럽 코테 스터디 14일차 TIL: 거스름돈 그리디
상단으로

티스토리툴바