로또의 최고 순위와 최저 순위

이묘·2022년 8월 5일
0

CodingTest

목록 보기
31/41
post-thumbnail

프로그래머스 코딩테스트 1단계

무식하게 그냥 filter랑 for문 위주로 돌려보았다




소스코드


function solution(lottos, win_nums) {
    var answer = [];
    var result =[];

    // 맞춘 번호 번호 삭제
    var result = lottos.filter((element) => !win_nums.includes(element))

    // 최소 등수    // 모두 0일 경우 최대등수
    answer.push(lottos.length - result.length);
	
  	// 0을 찾아서 0이 모두 맞았다고 가정 할 때,
    search0 = result.filter((element) => element === 0).length
    // 최대 등수    // 모두 0일 경우 최소등수
    answer.push(answer[0]+search0);

  	// 좀 무식해보이지만 마땅히 방법이 생각이 안났다ㅠ
    for(var i = 0; i < answer.length; i++){
        if(answer[i] === 0){ answer[i] = 6 }
        else if(answer[i] === 1) { answer[i] = 6 }
        else if(answer[i] === 2) { answer[i] = 5 }
        else if(answer[i] === 3) { answer[i] = 4 }
        else if(answer[i] === 4) { answer[i] = 3 }
        else if(answer[i] === 5) { answer[i] = 2 }
        else if(answer[i] === 6) { answer[i] = 1 }
    }
	// 위쪽에서 최대최소 등수가 꼬일 때가 있어서 최대최소 등수로 정렬해줌
    return answer.sort();
}

console.log( solution( 	[0, 0, 0, 0, 0, 0], [38, 19, 20, 40, 15, 25]) )

// 결과값 [1, 6]
profile
본질을 공부해야 응용도 하지 않을까

0개의 댓글