[프로그래머스 문제풀이13]체육복 자바스크립트

이ᄏᄋ·2021년 9월 15일
0
function solution(n, lost, reserve) {
    var answer = [];
    lost=lost.sort((a,b)=>a-b);
    reserve=reserve.sort((a,b)=>a-b);
    for(const lostStud of lost){
        for(const resStud of reserve){
            if(lostStud===resStud){
                lost=lost.filter(val=>val!==lostStud)
                reserve=reserve.filter(val=>val!==resStud)
            }
        }
    }
    const sharedClass=letsShare(lost,reserve); 
    return  n-sharedClass.length
}
function letsShare(lost,reserve){
      for(let i = 0; i < lost.length; i++) {
        for(let j = 0; j < reserve.length; j++) {
            if(reserve[j] + 1 === lost[i] || reserve[j] - 1 === lost[i]) {
                lost.splice(i, 1)
            }
        }
    } 

    return lost
}

이 문제는 지문을 잘보고 풀어야 한다. 체육복은 번호 앞뒤 한사람에게만 줄 수 있다. 그리고 반이 도둑놈들밖에 없는지 체육복 2개가진놈들중에도 훔침 당한애가 있다. 2개 가졌으면 한개는 누구거였을까? ㅎㅎ
그리고 정렬을 해야한다.풀면서 정렬을 해야한다는 것을 알아차리지 못해서 매우 애먹었던 문제이다... 왜 코딩테스트 연습이라면서 보여주는 테스트 케이스에 그런 경우를 안넣어주는걸까?

profile
미쳤다.

0개의 댓글