코딩테스트/백준

[백준 JAVA] 5086 - 배수와 약수

kittae 2024. 12. 2. 15:54

이번 문제는 배수와 약수 문제로 쉬운 문제였다!

 

여기서 의문이 있었는데, 만약 예시로 15 15라고 했을 때, 약수와 배수 둘 다여서 고민을 했지만, 문제를 잘 보면 두 수가 같은 경우는 없다고 제약조건이 있었다!

 

시간제한과 메모리제한은 테스트 케이스가 작아 신경 안 써도 된다고 판단했다!

 

내가 생각한 로직이다.

token2 % token1 == 0 -> factor

token1 % token2 == 0 -> multiple

아니면 neither

 

[최종 코드]

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {

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

        while (true) {

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

            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());

            if (a == 0 && b == 0)
                break;

            else if (a > b) {

                if (a % b == 0)
                    System.out.println("multiple");
                else
                    System.out.println("neither");
            }

            else if (a < b) {

                if (b % a == 0)
                    System.out.println("factor");
            }
        }
    }
}

 

배운점

이번 문제는 쉬운 문제였다! 하지만, 문제를 꼼꼼하게 읽는 습관을 들여야겠다고 생각했다!