
오랜만에 브론즈 문제를 풀었다.
사실 정보처리기사 실기를 준비하는데
23년 3차 시험에서 프로그래밍 쪽이 어려워서 충격받았던...
특히 완전수 문제가 수학을 모르면 1부터 100까지 for문을 돌려봐야 풀 수 있어서 기본적인 수학 개념은 알고 가야 될 것 같았다.
(정처기 시험대비 완전수 메모 : 6, 28, 496 ...)
물론 기본적인 개념들이긴 하지만...
완전수를 몇 개 알아야 풀 수 있는 문제가 나올줄은...
그래서 백준 숫자문제를 풀어봤다.
프로그래밍 자체는 쉬웠다.
나머지가 0일 때 소인수분해 된다는거니까 나머지가 0인 것을 찾으면 된다 :D
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bufferedReader.readLine());
ArrayList <Integer> arrayList = new ArrayList<>();
int total = N;
int i = 2;
while(total>1){
if(total % i == 0){
total = total / i;
arrayList.add(i);
i=2;
} else{
i++;
}
}
StringBuilder stringBuilder = new StringBuilder();
for(int j=0;j<arrayList.size();j++){
stringBuilder.append(arrayList.get(j)).append("\n");
}
System.out.println(stringBuilder);
}
}
안녕하세요, 99클럽 그룹 리더 은딩입니다!
이 문제 저는 파이썬으로 풀었었는데 같은 로직을 자바 코드로 보니까 자바와 파이썬의 다른 점이 눈에 보이네요!! 고생하셨습니다!! 정처기 실기 응원합니다ㅎㅎ
앞으로도 힘내서 매일 TIL 도전해 보세요! 화이팅입니다 :)
99클럽 https://bit.ly/3TN5TBL