본문 바로가기
○ 기술면접/알고리즘

구현: 검증수 (백준 2475)

by ZEROMI 2023. 3. 23.
728x90

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

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

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

○ 예제 입력
0 4 2 5 6

○ 예제 출력
1


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

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));
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		int length = st.countTokens();
		int result = 0;
		
		for (int i = 0; i < length; i++) {
			int num = Integer.parseInt(st.nextToken());
			result += num * num;
		}
		
		result = result % 10;
		bw.write(String.valueOf(result));
		
		bw.flush();
		bw.close();
		
	}
	
}

○ 확인
- %로 나머지 구하기
- BufferedWriter로 정수 출력할 때는 형변환 필수를 기억하자. 아스키로 찍힌다.

728x90