Backend
home
🈹

[백준] 분산처리

생성일
2025/03/14 14:23
태그
BaekJoon
게시일
2025/03/14
최종 편집 일시
2025/03/14 14:27

문제

해결 방안 고민

1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ...
이 내용만 잘 이해하면 풀 수 있다. 참고로 10번 데이터는 10번으로 분류할 수 있도록 해주는 조건이 필요하다.
일의 자리수만 알면 해결할 수 있는 문제이다.

해결 방법

a를 10으로 나눈 나머지에 a를 곱하고, 그 값을 10으로 나눈 나머지에 다시 a를 곱하는 일을 b번 반복한다.
곱해야 하므로 초기값을 1로 설정한다.
int data = 1; for (int j = 0; j < b; j++) { data *= a; data %= 10; }
Java
복사

코드

package algo250314; import java.io.*; import java.util.*; // 분산처리 - 브론즈 2 public class Baek1009 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); for (int i = 0; i < N; i++) { StringTokenizer st = new StringTokenizer(br.readLine(), " "); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); int data = 1; // 일의 자리 숫자만 알면 되므로 (data %= 10) for (int j = 0; j < b; j++) { data *= a; data %= 10; } if (data == 0) { data = 10; } bw.write(String.valueOf(data)); bw.newLine(); } bw.flush(); bw.close(); br.close(); } }
Java
복사