-
[백준 1476번] 날짜 계산 (자바)Algorithm/기타 2022. 6. 27. 19:39
백준알고리즘 1476번 : 날짜 계산 (Solved.ac 난이도 Silver5)
https://www.acmicpc.net/problem/1476
1476번: 날짜 계산
준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타
www.acmicpc.net
숫자 3개를 가지고 날짜를 계산하는 문제이다.
N에서 x를 뺀 숫자가 15의 배수, y를 뺀 숫자가 28의 배수, z를 뺀 숫자가 19의 배수가 되는 정답 N을 구하는 문제이다.
예시에 나온 것처럼 1 2 3이 주어지는 경우,
정답 N(5266)은
5266에서 1을 뺀 수가 15의 배수이고,
5266에서 2를 뺀 수가 28의 배수이고,
5266에서 3을 뺀 수가 19의 배수일 것이다.
이를 조건식을 변형한뒤, 맞는 숫자가 나올 때까지 숫자를 계속 늘리면 된다.풀이 과정
1. 숫자 x, y, z를 받는다.
2. while문으로 조건식을 만든다. (x를 뺀수가 15의 배수이고 y를 뺀 수가 28의 배수이며, z를 뺀 수가 19의 배수가 되는 조건을 만족하는 숫자)
3. 조건이 충족하지 않는 경우 숫자를 1씩 높여주며, 조건 충족시 break 후 정답을 출력한다.▽ 정답 소스 보기
더보기import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main {// [Silver5] No1476 : 날짜 계산 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int x= Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); int z = Integer.parseInt(st.nextToken()); int ans = 1; while(true){ if ((ans-x)%15==0 && (ans-y)%28==0 && (ans-z)%19==0) { break; }else{ ans++; } } System.out.println(ans); }}
'Algorithm > 기타' 카테고리의 다른 글
[백준 17264번] I AM IRONMAN (Java 풀이) (0) 2020.03.08 [백준 1292번] 쉽게 푸는 문제 (Java 풀이) (0) 2020.02.28 [백준 10773번] 제로 (Java 풀이) (0) 2020.02.27 [백준 1094번] 막대기 (Java 풀이) (0) 2020.02.16 [백준 5635번] 생일 (Java 풀이) (0) 2020.02.05