https://school.programmers.co.kr/learn/courses/30/lessons/42840
더보기
사실 완탐이라는데 완탐.. 까진 모르겠습니다
그냥 처음에는 애들 찍는 규칙 찾아서 그냥 쌩깡으로 집어넣었습니다.
class Solution {
fun solution(answers: IntArray): IntArray {
var answerCountOne = 0
var answerCountTwo = 0
var answerCountThree = 0
for(i in answers.indices) {
if(i % 5 + 1 == answers[i]) {
answerCountOne += 1
}
if(i % 2 == 0 && answers[i] == 2) {
answerCountTwo += 1
} else {
if((i % 8 == 1 && answers[i] == 1)
|| (i % 8 == 3 && answers[i] == 3)
|| (i % 8 == 5 && answers[i] == 4)
|| (i % 8 == 7 && answers[i] == 5)) {
answerCountTwo += 1
}
}
if(((i % 10) / 2 == 0 && answers[i] == 3)
|| ((i % 10) / 2 == 1 && answers[i] == 1)
|| ((i % 10) / 2 == 2 && answers[i] == 2)
|| ((i % 10) / 2 == 3 && answers[i] == 4)
|| ((i % 10) / 2 == 4 && answers[i] == 5)) {
answerCountThree += 1
}
}
var list = mutableListOf<Int>()
var answer = intArrayOf(answerCountOne, answerCountTwo, answerCountThree)
var answerSorting = answer.sortedArrayDescending()
var max = answerSorting[0]
for(i in answer.indices) {
if(answer[i] == max) {
list.add(i + 1)
}
}
return list.toIntArray()
}
}
알아요 마음에 안듬. 나도 안 듬..
그래서 두 번째 방법으로 배열필터링 하려고 합니다.
class Solution {
fun solution(answers: IntArray): IntArray {
var answerOne = intArrayOf(1, 2, 3, 4, 5)
var answerTwo = intArrayOf(2, 1, 2, 3, 2, 4, 2, 5)
var answerThree = intArrayOf(3, 3, 1, 1, 2, 2, 4, 4, 5, 5)
var oneList = answers.filterIndexed { index, i ->
i == answerOne[index % 5]
}
var twoList = answers.filterIndexed { index, i ->
i == answerTwo[index % 8]
}
var threeList = answers.filterIndexed { index, i ->
i == answerThree[index % 10]
}
var list = mutableListOf<Int>()
var answer = intArrayOf(oneList.size, twoList.size, threeList.size)
var answerSorting = answer.sortedArrayDescending()
var max = answerSorting[0]
for(i in answer.indices) {
if(answer[i] == max) {
list.add(i + 1)
}
}
return list.toIntArray()
}
}
배열 필터링을 해봤는데, 시간이 오히려 늘어나고, 메모리 용량도 더 먹는군요 ^-^ ...
저렇게 단순무식하게 계산식 때려넣는게 최선인가 싶기도 해요.
반응형
'스터디(programmers)' 카테고리의 다른 글
Kotlin] 프로그래머스 lv.1, 명예의 전당 (1) (0) | 2023.02.15 |
---|---|
Java] 프로그래머스 lv.1, 부족한 금액 계산하기 (0) | 2023.02.09 |
Kotlin] 프로그래머스 lv.1, 체육복 (0) | 2023.02.01 |
Java] 프로그래머스 lv.1, 2016년 (0) | 2023.02.01 |
Kotlin] 프로그래머스 lv.1, 최소직사각형 (0) | 2023.01.27 |