[JAVA] 나머지 연산 분배법칙 (백준 14928번)

이한솔·2023년 11월 8일
0

JAVA

목록 보기
5/9

백준 14928 : 큰 수

단순한 문제라고 생각하고, BigInteger를 통해 접근했을 때, 시간 초과가 발생하였다. 다른 방법으로 접근할 수 밖에 없었는데, 분배법칙으로 접근하였다.

분배법칙에 대한 자세한 개념은 링크 를 참조하였다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        sc.close();
        long remain = 0;
        for(int i = 0; i < a.length(); i++){
            remain = (remain * 10 + (a.charAt(i) - '0')) % 20000303;
        }
        
        System.out.print(remain);
        
    }
}

여기서 remain = (remain * 10 + (a.charAt(i) - '0')) % 20000303; 이 부분이 덧셈의 분배법칙을 이용하여 풀이한 부분이다.

profile
개인 공부용

0개의 댓글