//GitHub https://github.com/vellimole0621
백준 1340번 : 연도 진행바
(문제 - https://www.acmicpc.net/problem/1476)
문제 설명 : E S M을 입력받아, 연도를 출력하라. 이때 E S M이 1 1 1 일때가 1년이며, 한 해당 각각 1씩 증가한다. 또한 각각의 최댓값은 각각 15 28 19이고, 최댓값을 넘어가면 다시 1로 바뀐다.
풀이 :
E S M을 입력 받음 >> 연도 저장 변수 초기화 시킴 >> E S M이 1 1 1 될때까지 반복하는 while 문 생성 >> 연도 저장 변수 출력
//1476번
package algorithm.S2208;
import java.util.*;
public class Solve220819 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
// E S M 입력 받음
int E = sc.nextInt();
int S = sc.nextInt();
int M = sc.nextInt();
// 년도 저장 변수 초기화
int temp = 1;
// E S M이 모두 1이 될때까지 반복
while((E != 1) || (S != 1) || (M != 1)){
// 각각 1씩 줄임
E -= 1;
S -= 1;
M -= 1;
// 년도 증가
temp++;
// 0이 되면 각각의 최댓값으로 바꿔 저장
if(E == 0){
E = 15;
}
if(S == 0){
S = 28;
}
if(M == 0){
M = 19;
}
}
// 년도 출력
System.out.print(temp);
sc.close();
}
}
어려웠던 부분 : while문 안에 조건을 입력할 때, E S M이 모두 1이 되지 않는 동안을 (E != 1) && (S != 1) && (M !=1) 두어서 틀렸었다.
&&의 반대는 || 임을 고려하자
'프로그래밍 > Java' 카테고리의 다른 글
[자바 JAVA/알고리즘] 백준 1343번 : 폴리오미노 (0) | 2022.08.18 |
---|---|
[자바 JAVA/알고리즘] 백준 2839번 : 설탕 배달 (0) | 2022.08.18 |
[자바 JAVA/알고리즘] 백준 1340번 : 연도 진행바 (0) | 2022.08.16 |
[자바 JAVA/알고리즘] 백준 2750번 : 수 정렬하기 (0) | 2022.08.12 |
[자바 JAVA/알고리즘] 백준 15596번 : 정수 N개의 합 (0) | 2022.08.11 |