알고리즘 접근 방법
일단 2부터 N까지 N을 나누어야 했다.
그리고 만약 2가 나누어지면 N을 2로 나누고 다시 2로 나누고 while문 안에서 2로 만약 안 나눠지면 while문 밖으로 나온다. 그리고 i++한 값을 또 대입하고 무한 반복을 해야한다고 생각을 했다.
헷갈린 부분
for문 안에서 while문이 돌아간다는 것이 잘 이해가 안됬다.
보안할 점
Scanner 말고 Buffered Reader을 사용해서 푸는 방법도 익혀야겠다.
그 전에 BufferedReader부터 공부를 열심히 해야겠다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
for(int i = 2; i <= N; i++) {
while(N % i == 0) {/* i=2 로 나누어서 안나누어지면 밖으로 나간다. i=3을 넣어본다 안나누어지면 밖으로 나간다. */
System.out.println(i);
N = N/i;
}
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1712번 : 손익분기점 - JAVA [자바] (0) | 2022.06.07 |
---|---|
[백준] 1152번 : 단어의 개수 - JAVA [자바] (0) | 2022.06.07 |
[백준] 2675번 : 문자열 반복 - JAVA [자바] (0) | 2022.06.07 |
[백준] 1978번 : 소수 찾기 - JAVA [자바] (0) | 2022.06.03 |
[백준] 15596번 : 정수 N개의 합 - Java[자바] (0) | 2022.06.02 |