본문 바로가기
코딩테스트

[프로그래머스] 순서쌍의 개수

by liz_devel 2025. 12. 19.

🗒 문제


📝 나의 문제풀이

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인 것만 센다

 

반응형