-
728x90
๐ ๋ฌธ์ ์ค๋ช
์์ธ์๋ถํด๋ ์ด๋ค ์๋ฅผ ์์๋ค์ ๊ณฑ์ผ๋ก ํํํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด 12๋ฅผ ์์ธ์ ๋ถํดํ๋ฉด 2 * 2 * 3 ์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ 12์ ์์ธ์๋ 2์ 3์ ๋๋ค. ์์ฐ์
n
์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋n
์ ์์ธ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.**๐ ์ ํ ์ฌํญ**
- 2 โค n โค 10,000
**๐ ๋ต์**
import java.util.*; class Solution { public int[] solution(int n) { ArrayList<Integer>answerList = new ArrayList<>(); for(int i=2; i<=n; i++) { if(n%i==0) { while(n%i==0){ n/=i; } answerList.add(i); } } Collections.sort(answerList); int[] answer = new int[answerList.size()]; for(int j=0; j<answer.length; j++) { answer[j] = answerList.get(j); } return answer; } }
์์ธ์๋ 1์ ์ ์ธํ ์ธ์๋ก n์ ๋๋ด์ ๋ ๋๋จธ์ง๊ฐ 0์ธ ๊ฒ์ ๋ปํ๋ค. ๊ทธ๋์ 2๋ถํฐ ์์ํ๋ for๋ฌธ์ ๋๋ฉด์ ๋ง์ฝ n์ i๋ก ๋๋ด์ ๋ ๋๋จธ์ง๊ฐ 0์ด๋ผ๋ฉด
while
์ ๋๋ฉด์ n์ i๋ก ๋๋ด์ ๋ 0์ด ์ฐธ์ธ ๋์ ๊ณ์ i๋ฅผ ๋๋ ์ค๋ค. ๋ง์ฝ i๋ก ๋๋ด์ ๋ ๋๋จธ์ง๊ฐ 0์ด ์๋๋ผ๋ฉด while์ ๋น ์ ธ๋๊ฐ๊ณanswerList
์ ์ธ์๊ฐ ๋ด๊ธฐ๊ฒ ๋๋ค.๊ทธ๋ ๊ฒ ์ธ์๋ฅผ ๋ฃ์ ๋ค์
Collections.sort()
๋ฅผ ํตํดArrayList
๋ฅผ ์ ๋ ฌํ๊ณ return ํด์ค int ๋ฐฐ์ดanswer
๋ฅผ ๋ง๋ค์ด์answerList
์ ์ธ์๋ฅผ ๋ด์์ค๋ค.๐ก ์ฐธ๊ณ
ArrayLIst.add(์ธ์๊ฐ)
: ArrayList ๋ฐฐ์ด์ ์ธ์๊ฐ์ ๋ฃ์ด์ฃผ๋ ํจ์.Collections.sort(ArrayList)
: ArrayList ๋ฐฐ์ด ์ ๋ ฌํด์ฃผ๋ ํจ์.ArrayList.size()
: ArrayList์ ๊ธธ์ด ๋ฆฌํดํด์ฃผ๋ ํจ์ArrayList.get(์ธ๋ฑ์ค)
: ArrayList์ ํด๋นํ๋ ์ธ๋ฑ์ค์ ์ธ์๋ฅผ ๋ฆฌํดํด์ฃผ๋ ํจ์
728x90'algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ธ๊ณ์ด ์ฌ์ (0) 2023.09.09 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ผ๊ฐํ์ ์์ฑ์กฐ๊ฑด(2) (0) 2023.09.09 ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ปจํธ๋กค ์ ํธ (1) 2023.09.08 ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์จ์ด์๋ ์ซ์์ ๋ง์ (2) (0) 2023.09.07 ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ๋ฐฐ์ด ์์์ ๊ธธ์ด (0) 2023.09.07