🗒 문제

📝 나의 문제풀이
class Solution {
fun solution(n: Int): Int {
var answer = 0
for(num in 1..n){
if(n % num == 0) answer++
}
return answer
}
}
📝 다른 사람의 문제 풀이
다른 사람의 문제 풀이는 좋아요 수가 높거나 많은 사람들이 푼 방법 기준으로 첨부하였습니다.
class Solution {
fun solution(n: Int) = (1..n).count { n % it == 0 }
}
🖊 문제 풀이 시 알면 좋을 것
1..n 은 뭔데?
1..n
- 1부터 n까지의 범위(range)
- 사실상 이런 리스트처럼 동작한다고 보면 돼
[1, 2, 3, ..., n]
count { 조건 }
count의 의미
.count { 조건 }
👉 조건이 true인 것의 개수만 세준다
예시
val nums = listOf(1, 2, 3, 4, 5)
nums.count { it % 2 == 0 }
👉 짝수만 세기
👉 결과: 2 (2, 4)
지금 문제에 적용하면
(1..n).count { n % it == 0 }
- it → 현재 숫자 (1, 2, 3, … n)
- n % it == 0 → 약수인지 체크
- true인 것만 센다
반응형
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 열 원소의 길이 (0) | 2025.12.19 |
|---|---|
| [프로그래머스] n의 배수 고르기 (1) | 2025.12.19 |
| [프로그래머스] 배열의 유사도 (0) | 2025.12.19 |
| [프로그래머스] 점의 위치 구하기 (0) | 2025.12.19 |
| [프로그래머스] 피자 나눠 먹기 (3) (0) | 2025.12.19 |