-
[백준 - 7572번] 간지(干支) - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 7. 26. 17:56
이번에는 BOJ의 7572번 문제 "간지(干支)"를 풀어보도록 하자
입력으로 연도가 주어지고 해당연도의 간지를 간지롭게 구하면 되는 문제이다. 일단, 문제 에서 주어지는 2013년은 "F9", 2014년은 "G0" 등을 이용해서 문제를 풀어도되고, 1984년이 갑자년"A0" 이라는 사실을 알고 있기 때문에, 이를 이용해서 문제를 풀었다.
성공한 코드는 아래와 같다.
import java.io.*; import java.util.*; public class sample { static char[] gan = {'0', '1', '2', '3', '4', '5', '6', '7', '8','9'}; static char[] zi = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'}; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); //2044, 1984, -56 -> A0 int N = Integer.parseInt(br.readLine()); //음수가 되는 것을 방지 int a = (N + 56) % 60; int g = 0; int z = 0; for(int i = 0; i < a; i++){ if(g == 9) g = 0; else g++; if(z == 11) z = 0; else z++; } bw.write(zi[z]); bw.write(gan[g] + "\n"); bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/7572
7572번: 간지(干支)
예로부터 동아시아에서는 십간(十干)과 십이지(十二支)를 사용하여 연도를 표시하였다. 십간은 "갑을병정무기경신임계"를 말하며 십이지는 "자축인묘진사오미신유술해"를 말한다. 십간과 십이지로 구성된 간지를 사용하여 60년을 주기로 각 연도에 다음과 같이 이름을 부여한다: 최초 1년째는 "갑자"이고, 2년째는 "을축", 3년째는 "병인" 과 같이 올해의 간지에서 십간과 십이지의 다음 문자를 이듬해의 간지로 사용한다. 십간은 10년을 주기로, 십이지는 12년을 주
www.acmicpc.net
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 17350번] 2루수 이름이 뭐야 - Java //Wello Horld// (0) 2019.08.06 [백준 - 17356번] 수열과 쿼리 16 - Java //Wello Horld// (0) 2019.08.06 [백준 - 16938번] 캠프 준비 - Java //Wello Horld// (0) 2019.07.26 [백준 - 3053번] 택시 기하학 - Java //Wello Horld// (0) 2019.07.26 [백준 - 1927번] 최소 힙 - Java //Wello Horld// (0) 2019.07.26