기록

[Kotlin] 로또의 최고 순위와 최저 순위 본문

[Study]/코딩테스트 연습

[Kotlin] 로또의 최고 순위와 최저 순위

Dannnnnn 2022. 7. 15. 00:31
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/77484

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 접근 방식

- lottos 리스트의 요소가 win_nums 리스트 요소 안에 몇개 있는가?

- 0의 경우 어떻게 처리할 것인가?

 

class Solution {
    fun solution(lottos: IntArray, win_nums: IntArray): IntArray {
        var answer = intArrayOf(0, 0)

        for(l in lottos) {
            if(win_nums.contains(l))
                answer[1] += 1
            if(l == 0)
                answer[0] += 1
        }
        answer[0] += answer[1]
        
        for(i in 0..1) {
            answer[i] = if(answer[i] == 0) 6 else 7 - answer[i]
        }
        
        return answer
    }
}

 

문제 해결

1) 배열의 내장함수 contains 이용하여 배열 win_nums 안에 lottos 배열의 원소가 있는지 파악

2) 0의 경우 최고 순위 정답이 될 수 있음

3) 7 - answer[i]로 답을 도출, 단 맞은 로또가 하나도 없는 0의 경우엔 6으로 예외처리

반응형

'[Study] > 코딩테스트 연습' 카테고리의 다른 글

퀵 정렬  (0) 2023.04.13
[Kotlin] 성격 유형 검사하기  (0) 2022.11.07
[Python] 124 나라의 숫자  (0) 2021.04.21
[Python] 키패드 누르기  (0) 2020.11.10
[Python] 실패율  (0) 2020.11.09