본문 바로가기
Problem Solving/Baekjoon

[백준] 17202 핸드폰 번호 궁합 - Dynamic Programming / Java

by graycode 2023. 9. 29.

 문제 링크

 

17202번: 핸드폰 번호 궁합

어린시절 다들 한 번씩은 이름으로 궁합을 본 적이 있을 것이다. 이것과 비슷한 방식으로 중앙대학교에는 핸드폰 번호 궁합을 보는 것이 유행이라고 한다. 핸드폰 번호 궁합을 보기 위해서는

www.acmicpc.net

 

 풀이 코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String a = br.readLine(), b = br.readLine();

        int[] dp = new int[17];
        for (int i = 0; i < 8; i++) {
            dp[i * 2] = a.charAt(i) - '0';
            dp[i * 2 + 1] = b.charAt(i) - '0';
        }

        bw.write(recur(dp, dp.length - 1));
        bw.flush();
    }

    private static String recur(int[] dp, int len) {
        if (len == 2) return String.valueOf(dp[0]) + dp[1];

        for (int i = 0; i < len; i++) dp[i] = (dp[i] + dp[i + 1]) % 10;

        return recur(dp, len - 1);
    }

}

댓글