본문 바로가기
Algorithm & SQL/BAEKJOON

백준 JAVA 11653 소인수분해

by YoonJong 2022. 7. 7.
728x90

처음에 소수를 구하고, 소수를 다시 반복문을 돌리면서 구해야하나 하고 코드를 짰다가

list가 3개가 나오는것을 보고 잘못됐다는 느낌을 받았다..

 

구현하고 예제도 입력했는데 1,2,3 번까지는 잘나왔는데 마지막께 실패했다.

 

그래서 블로그를 찾아봤는데 역시나 이렇게 푸는게 아니였다.

 

어렵게 생각하니 어려웠고, 쉽게 생각하자니 쉽게 풀수 있는 문제였다

(물론, 코드를 보니까 쉬웠겠지만)

package BAEKJOON;

import java.util.Scanner;

public class NO11653 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int i = 2; // 1은 제외한다

            while (i <= n) { // i 가 n전까지 반복
                if (n % i == 0) { // 입력받은 값을 나눴을때 0 이면
                    System.out.println(i); // 출력해주고
                    n = n / i; // 출력값을 i로 나눠준다
                } else { // 만약 나머지가 0 이 아니라면
                    i++; // i를 1 더해주고 다시 반복한다.
                }
            }
        }
    }
728x90

'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글

백준 JAVA 11050 이항 계수 1  (0) 2022.07.08
백준 JAVA 1934 최소공배수  (0) 2022.07.08
백준 JAVA 1924 2007년  (0) 2022.07.07
백준 JAVA 2609 최대공약수와 최소공배수  (0) 2022.07.06
백준 JAVA 1193 분수찾기  (0) 2022.07.06

댓글