코딩테스트 & 문제 풀이

[Python]백준_4998 : 저금

2023. 10. 31. 00:36

2022년 11월 23일에 작성됨

 

https://www.acmicpc.net/problem/4998

 

4998번: 저금

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트는 한 줄로 이루어져 있고, N, B, M이 주어진다. M은 항상 N보다 크다. N과 M은 항상 백만보다 작거나 같은 수이고, 음수 또는 0이 아니다

www.acmicpc.net

 

 

문제 분석

맨 처음 N원을 저금하고, 1년마다 통장에 있는 돈의 %B만큼의 이자를 N원에다가 더해준다. 그 값이 M원을 넘는지 판단해주는 과정을 반복한다.

 

 

소스 코드-1 (❌)

n, b, m = map(float, input().split())
cnt = 0

while (n < m):
    n += n*(b/100)
    cnt += 1

print(cnt)

예제 입출력은 맞게 나오는데 백준에 제출하니까 틀렸다고 뜬다

 

 

소스 코드-2 (⭕)

import sys
try:
    while(1):
        n, b, m = map(float, input().split())
        cnt = 0
        while (n < m):
            n += n*(b/100)
            cnt += 1

        print(cnt)
        
except:
    exit()

예제 입력을 잘 보면 각각의 테스트 케이스가 아닌 한번에 입력을 받는 것이다!

따라서 try except와 무한 반복문으로 계속 입력을 받고, 입력 값이 없으면 예외 처리를 해준다.

 

 

코드 분석

n(저금한 돈), b(b% 만큼의 이자), m(총 금액이 m원을 넘는지)

1. n, b, m의 값을 실수형으로 입력 받는다.

2. 몇 년이 걸리는지 세어줄 cnt 변수를 0으로 초기화 해주고

3. n이 m보다 작은 경우, 원래 있던 돈 n원에 이자 n*(b/100)원을 더한 값이 다시 n원이 되고, cnt에 1을 더해준다.

4. 그러다 n이 m보다 커지는 순간 반복문을 빠져나오고 그때의 cnt 값을 출력해준다.

5. try except를 써서 위 과정을 무한 반복문으로 계속 반복하는데 입력 값이 없는 경우는 예외 처리를 해준다.

6. sys 모듈을 사용하여 프로그램을 강제 종료하는 exit()을 써준다.

 

 

 

end

예외 처리!! 아직 익숙하진 않지만 자주 활용해보자.

 

 

 

'코딩테스트 & 문제 풀이' 카테고리의 다른 글

[C]백준_9625 : BABBA  (0) 2023.11.01
[Python]백준_18238 : ZOAC 2  (1) 2023.11.01
[Python]백준_2810 : 컵홀더  (0) 2023.10.31
[Python]백준_10825 : 국영수  (0) 2023.10.31
[Python]백준_5622 : 다이얼  (2) 2023.10.30
  1. 문제 분석
  2. 소스 코드-1 (❌)
  3. 소스 코드-2 (⭕)
  4. 코드 분석
  5. end
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
  • [C]백준_9625 : BABBA
  • [Python]백준_18238 : ZOAC 2
  • [Python]백준_2810 : 컵홀더
  • [Python]백준_10825 : 국영수
Hicecream
Hicecream
Hicecream
Hicecream
Hicecream
전체
오늘
어제
  • 분류 전체보기 (199)
    • 코딩테스트 & 문제 풀이 (159)
    • 동아리 활동 (8)
    • 외부 활동 (0)
    • 대학 과제 (3)
    • Git & Git Hub (5)
    • 코딩 프로젝트 (1)
    • 공부 메모 (17)
    • 일상 (2)
    • 참고사항 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Code up
  • 문자열
  • Bronze 5
  • 수학
  • Bronze 2
  • Bronze 3
  • Bronze 4
  • 정렬
  • C
  • BOJ
  • 구현
  • python
  • 사칙연산
  • C언어 기초 100제
  • Java
  • LV1
  • Silver 5
  • Bronze 1
  • programmers
  • Silver 4

최근 댓글

최근 글

hELLO · Designed By 정상우.
Hicecream
[Python]백준_4998 : 저금
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.