[백준/level 1] No 1043. 나머지 (JAVA)

2025. 1. 26. 17:37코딩테스트/백준

<문제>

이제는 처음에 했던 사칙연산 구하기보다 좀 더 복잡한 조건이 붙었습니다

하지만 문제를 길게 써서 문제인 것이고 자세히 살펴보면 금방 할 수 있는 문제라고 생각됩니다. 

제가 제출한 정답 코드 같이 보면서 확인해보죠!

<정답>

//Scanner을 쓰기 위한 import. 
//import java.util.*;로도 사용 가능. 
import java.util.Scanner;

public class No10430_mod {
    
    public static void main(String[] args) {
        
        //텍스트를 입력받기 위해 Scanner 사용 
        Scanner scanInt = new Scanner(System.in);

        //총 세 번의 입력이 주어지기 때문에 세 개의 변수로 나눔
        int A = scanInt.nextInt();
        int B = scanInt.nextInt();
        int C = scanInt.nextInt();

        scanInt.close();
        
        //나머지는 문제에 있는 연산 그대로 복사 
        System.out.println( (A+B)%C );
        System.out.println( ((A%C) + (B%C))%C );
        System.out.println( (A*B)%C );
        System.out.println( ((A%C) * (B%C))%C );

    }
}

사실 제출은 이렇게 하진 않았는데 가독성을 위해서 연산마다 띄어쓰기를 좀 해봤습니다.

설명을 보고 싶다면 클릭 🔻

더보기

Scanner는 키보드 입력을 받는 대표적인 Java의 클래스다.

 

java.util이라는 패키지에 내장되어 있으며, ( * )의 경우, 모든 클래스를 사용한다는 뜻으로 해석되기 때문에 

import java.util.Scanner;

import java.util.*;

 둘 다 사용 가능한 것. 

키보드에서 입력을 받아 읽어오는 방법은 다양한데, 숫자 연산을 할 예정이므로 nextInt()로 숫자를 읽어왔다.

다른 예제와 마찬가지로 바로 출력할 수도 있지만

int testA = (A+B)%C;
int testB = ((A%C) + (B%C))%C;
int testC = (A*B)%C;
int testD = ((A%C) * (B%C))%C);

System.out.println(testA);
System.out.println(testB);
System.out.println(testC);
System.out.println(testD);

으로도 할 수 있다.