728x90
문제도 간단하고 풀이도 간단하다.
입력받은 값을 소인수 분해하여 인자들을 전부 출력하면 된다.
이 문제를 풀면서 생각한 논리적 흐름은
- 입력 받은 값을 특정 값으로 나눴을때 나머지 없이 나눠진다면
- 더이상 나머지가 0이 아닐때까지 나눠준다.
- 그리고 그 몫들을 배열에 저장한다.
- 나머지가 0이 아닌 경우 1을 더하여 다시 나눠준다.
- 위 과정을 반복하여 모든 인수를 배열에 저장한다.
* 11653번
var n = Int(readLine()!)!
var arr = [Int]()
var count = 2
var k = n
if n == 1 {
} else {
for _ in 1...n {
if k % count != 0 {
count += 1
} else {
arr.append(count)
k = k / count
}
}
}
for i in arr {
print(i)
}
정리(Today I Learned)
- 없음
'TIL > 알고리즘 공부' 카테고리의 다른 글
백준 4948번 Swift 알고리즘 연습 (0) | 2022.09.05 |
---|---|
백준 1929번 Swift 알고리즘 연습 (1) | 2022.09.01 |
백준 2581번 Swift 알고리즘 연습 (0) | 2022.08.30 |
백준 1978번 Swift 알고리즘 연습 (0) | 2022.08.30 |
백준 10757번 Swift 알고리즘 연습 (0) | 2022.08.28 |