[백준] 검증수

2025. 4. 29. 10:57·PROBLEM SOLVING
728x90

문제


컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.

예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.

 

 

 

입력


첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다.

 

 

 

출력


첫째 줄에 검증수를 출력한다.

 

 

 

문제 풀이


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int sum = 0;

        // 5개의 숫자를 입력받아 각각 제곱한 후 합산
        for (int i = 0; i < 5; i++) {
            int num = Integer.parseInt(st.nextToken());
            sum += num * num;
        }

        // 합계를 10으로 나눈 나머지를 출력
        int verificationNumber = sum % 10;
        System.out.println(verificationNumber);

        br.close();
    }
}

전체코드이다.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

맨 처음은 BufferedReader를 사용하여 입력을 받는다.

 

그리고 StringTokenizer를 사용했다.

StringTokenizer를 사용하여 풀면 매우 쉽게 접근 가능했다.

StringTokenizer st = new StringTokenizer(br.readLine());

StringTokenizer를 이용해 공백으로 구분된 5개의 숫자를 분리한다.
이 부분이 해당 문제의 핵심이다.

// 5개의 숫자를 입력받아 각각 제곱한 후 합산
for (int i = 0; i < 5; i++) {
    int num = Integer.parseInt(st.nextToken());
    sum += num * num;
}

그리고 5개의 숫자를 각각 입력받아서 제곱한 후 합산 변수인 sum에 더해준다.

// 합계를 10으로 나눈 나머지를 출력
int verificationNumber = sum % 10;
System.out.println(verificationNumber);

마지막으로 sum을 10으로 나누고, 출력해준다.

 

이 문제는 내가 StringTokenizer에 대한 접근법이 아직 어색하여 쉽게 풀지 못하였다.
StringTokenizer는 앞서 여러 문제에서도 사용하였지만, 쉽게 익혀지지가 않았다.
StringTokenizer에 대해 더 공부해봐야겠다.

'PROBLEM SOLVING' 카테고리의 다른 글

[백준] A + B - C  (1) 2025.05.02
[백준] X보다 작은 수  (0) 2025.04.29
[백준] 숫자의 합  (0) 2025.04.29
[백준] 수 정렬하기 2  (1) 2025.04.24
[백준] 최댓값  (0) 2025.04.23
'PROBLEM SOLVING' 카테고리의 다른 글
  • [백준] A + B - C
  • [백준] X보다 작은 수
  • [백준] 숫자의 합
  • [백준] 수 정렬하기 2
sooindev
sooindev
테스트 아카이브
    250x250
  • sooindev
    test archive
    sooindev
  • 전체
    오늘
    어제
    • DEVELOPMENT (96)
      • PROBLEM SOLVING (45)
      • SIDE PROJECT (20)
        • AUTOFINDER (20)
      • NODE.JS (21)
        • NODE.JS (12)
        • NODE.JS 웹애플리케이션 제작 (9)
      • DATABASE (4)
        • MYSQL (4)
      • JAVA (2)
  • 링크

    • GitHub
    • solved.ac
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sooindev
[백준] 검증수
상단으로

티스토리툴바