⚡문제정보
소신발언 , 화나서 죽을 뻔 했습니다.
🙄제한사항
시험은 최대 10,000 문제로 구성되어있습니다.
문제의 정답은 1, 2, 3, 4, 5중 하나입니다.
가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해주세요.
🔍접근방법
1. 1,2,3 번 학생이 찍는 패턴을 답과 비교해준다.
2. 맞춘 갯수를 카운팅해준다.
3. 등수를 제한조건에 맞춰서 정렬한다.
아주 쉽게 해결할 수 있었을 것 같았습니다.
제출을 해보기전까지는..
🔍나의 첫번째 풀이
function solution(answers) {
let result = {
"1" : 0,
"2" : 0,
"3" : 0
}
let first = [1,2,3,4,5]
let second = [2,1,2,3,2,4,2,5]
let third = [3,3,1,1,2,2,4,4,5,5]
for(i=0; i< answers.length ; i++) {
if(answers[i] == first[i%5]) {
result["1"]++
}
if(answers[i] == second[i%8]) {
result["2"]++
}
if(answers[i] == third[i%10]) {
result["3"]++
}
}
let objanswer = Object.entries(result)
.sort((a,b) => b[1] - a[1] )
.filter(ele => ele[1] != 0)
.map(ele => +ele[0])
console.log(result)
return !objanswer.length ? [] : objanswer
}
사실 이것도 처음 발상은 아니긴한데
처음에는 counter 변수를 두어서 일정값이 넘어가면 counter를 0으로 초기화해주는 방식을 사용했어요
근데 다른 분들 한걸 보니까 %를 해주면 동일한 효과를 얻을수있다고 하더라고요..
근데 저래 제출하니까 1,2,3,4번 케이스만 맞고 다 틀려버렸어요
대체 왜.. 안될까요... 누구 아시는 분... 제발... 알려주세요 전 도저히 통과되는 케이스와
제 풀이의 차이점을 캐치하지 못하겠어요
반응형
'programmers' 카테고리의 다른 글
[Programmers Level 1 정렬] K번째 수 Javascript (1) | 2022.12.11 |
---|---|
[Programmers Level 0] 로그인성공? Javascript (0) | 2022.12.10 |
[Programmers Level 1] 로또의 최고 순위와 최저 순위 Javascript (0) | 2022.12.09 |
[Programmers Level 2] 기능개발 Javascript (0) | 2022.12.09 |
[Programmers Level 0 obj] 최빈값 구하기 Javascript (0) | 2022.12.09 |