본문 바로가기
Problem Solving/Baekjoon

[백준] 14626 ISBN - Brute Force / Java

by graycode 2023. 10. 26.

 문제 링크

 

14626번: ISBN

ISBN(International Standard Book Number)은 전 세계 모든 도서에 부여된 고유번호로, 국제 표준 도서번호이다. ISBN에는 국가명, 발행자 등의 정보가 담겨 있으며 13자리의 숫자로 표시된다. 그중 마지막 숫

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 s = br.readLine();

        int idx = 0, sum = 0, c;
        for (int i = 0; i < 13; i++) {
            if ((c = s.charAt(i)) != '*') sum += i % 2 == 0 ? c - '0' : (c - '0') * 3;
            else idx = i;
        }

        int i;
        for (i = 0; i < 10; i++) {
            if (idx % 2 == 0 && (sum + i) % 10 == 0) break;
            else if (idx % 2 != 0 && (sum + 3 * i) % 10 == 0) break;
        }

        bw.write(String.valueOf(i));
        bw.flush();
    }

}

댓글