프로그래머스 “PCCE 기출문제 4번 / 저축” 문제 해결과정입니다.
PCCE 기출문제 4번 / 저축
문제설명
진우는 돈을 모으기 위해 저축을 하려고 합니다. 목표로 하는 금액은 100만 원이며, 첫 달에 일정 금액을 넣은 뒤 70만 원까지는 매월 조금씩 저축하다가 70만 원 이후부터는 월 저축량을 늘려 빠르게 목표 금액을 달성하고자 합니다.
첫 달에 저축하는 금액을 나타내는 정수 start, 두 번째 달 부터 70만 원 이상 모일 때까지 매월 저축하는 금액을 나타내는 정수 before, 100만 원 이상 모일 때 까지 매월 저축하는 금액을 나타내는 정수 after가 주어질 때, 100만 원 이상을 모을 때까지 걸리는 개월 수를 출력하도록 빈칸을 채워 코드를 완성해 주세요.
제한사항
- 0 ≤
start≤ 99 - 1 ≤
before≤after≤ 25
입출력 예
| 입력 | 출력 |
|---|---|
| 28 6 8 | 12 |
| 75 8 25 | 2 |
입출력 예 설명
입출력 예 #1
- 매월 저축된 금액은 아래 표와 같습니다. 따라서 12를 출력합니다.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 28 | 34 | 40 | 46 | 52 | 58 | 64 | 70 | 78 | 86 | 94 | 102 |
입출력 예 #2
- 첫 달 저축된 금액이 70이 넘으므로 두 번째 달부터 바로
after= 25 만큼 저축합니다. 따라서 2를 출력합니다.
| 1 | 2 |
|---|---|
| 75 | 100 |
문제 해결과정
프로그래머스 코드
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int start = sc.nextInt();
int before = sc.nextInt();
int after = sc.nextInt();
int money = start;
int month = 1;
while (money < 70) {
money += before;
month++;
}
while (money < 100) {
money += after;
month++;
}
System.out.println(month);
}
}
- 시작 저축금액 : start
- 70이전 저축금액 : before
- 100이전 저축금액 : after
변수 3개는 위의 의미와 같다. while(money < 70)이 70 이전까지를 의미하므로 before를 넣는다. 아래 while( < 100)에서 빈칸엔 이제 100이전 까지를 의미하므로 money를 넣어주고 while문 아래 코드는 money += before와 동일하게 money += after를 넣어준다.