TIL #6

loci·2024년 5월 5일
0

TIL

목록 보기
6/111


3명의 수를 더해서 0이면 answer를 +1씩 해준다.


풀이

class Solution {
    fun solution(number: IntArray): Int {
        var answer: Int = 0
        for(i in 0 until number.size){
            for(j in i+1 until number.size){
                for(k in j+1 until number.size){
                    if(number[i]+number[j]+number[k] == 0){
                        answer++
                    }
                }
            }
        }
        return answer
    }
}

모든 경우의 수만 가져오면 풀리는데 이 부분을 생각하기 어려웠다.


다른사람풀이

class Solution {
    fun solution(number: IntArray): Int {
        var answer: Int = 0

        var threeMusketeersCount = 0

        for ((i,n) in number.withIndex()) {
            for ((j, m) in number.withIndex()) {
                for ((k, l) in number.withIndex()) {
                    if ((i < j) && (j < k)) {
                        if (n + m + l == 0) {
                            threeMusketeersCount++
                        }
                    }
                } 
            }
        }
        return threeMusketeersCount
    }
}

.withIndex()로 index와 값을 한번에 가져올 수 있다.

profile
편리한 개발자

0개의 댓글