-
[자바스크립트] 프로그래머스 Lv.1 체육복[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 29. 00:23
아 ㅜ 처음에 생각 못했던 예외케이스 거르느라
if 문 부분이 너무 더러워졌다.. 열받는다...
그래도 이제 알고리즘 풀 때 map이랑 filter 메소드를 사용하게 되었다.
장족의 발전...! 효율성도 점점 더 챙겨야겠지만 우선 다양하게 풀수 있게 되는걸 목표로 해보자,,,
lost = lost.map((student) => (student = [student, -1]) ) reserve = reserve.map((student) => (student = [student, +1])) sum = [...reserve,...lost].sort((a,b) => a[0]-b[0]) for (i=0; i < sum.length; i++) { if (sum[i][1] <= 0) { continue } else if (i < sum.length-1 && sum[i][0] === sum[i+1][0]){ sum[i][1] = 0 sum[i+1][1] = 0 } else if (i > 0 && sum[i-1][1] === -1 && sum[i][0]-1 === sum[i-1][0]) { sum[i][1] = 0 sum[i-1][1] = 0 } else if (i < sum.length-1 && sum[i+1][1] === -1 && sum[i][0]+1 === sum[i+1][0]) { sum[i][1] = 0 sum[i+1][1] = 0 } } answer = n - (sum.filter((student)=> student[1] === -1)).length
https://programmers.co.kr/learn/courses/30/lessons/42862#qna
코딩테스트 연습 - 체육복
점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번
programmers.co.kr
'[TIL] 카테고리 > 알고리즘 문제풀기' 카테고리의 다른 글
[자바스크립트] 프로그래머스 Lv.1 [1차] 보물지도 (0) 2022.05.31 [자바스크립트] 프로그래머스 Lv.1 폰켓몬 (0) 2022.05.30 [자바스크립트] 프로그래머스 Lv.1 실패율 (0) 2022.05.27 [자바스크립트] 프로그래머스 Lv.1 소수 찾기 (0) 2022.05.27 [자바스크립트] 프로그래머스 Lv.1 K번째수 (0) 2022.05.26