728x90
[Javascript] (프로그래머스 level 1) 체육복
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(n, lost, reserve) {
// 1) 배열을 1로 채우고 (0은 0)
const arr = new Array(n + 1).fill(1);
arr[0] = 0;
// 2) 도난 당한 학생은 -1, 여벌 학생은 +1
reserve.forEach((x) => arr[x]++);
lost.forEach((x) => arr[x]--);
// 3) 체육복 갯수가 0이면 주변 2인 친구한테 하나 가져오기
for (let i = 1; i < n + 1; i++) {
if (arr[i] === 0) {
askFriend(arr, i);
}
}
return arr.filter((x) => x > 0).length
}
function askFriend(arr, i) {
// 앞 친구가 2개면 빌리기
if (arr[i - 1] === 2) {
arr[i - 1]--;
arr[i]++;
return
}
// 뒷친구 없으면 나가기
if (i + 1 === arr.length) {
return;
}
// 뒷친구 있으면서, 2개면 빌리기
if ( arr[i + 1] === 2) {
arr[i + 1]--;
arr[i]++;
return
}
// 아니면 나가기
return;
}
- 진짜 어이없네요 ㅋㅋㅋㅋㅋ 테스트 4, 5 기댓값이 손으로 새보아도 제코드 리턴값이 맞는데 자꾸 틀리다길래 뭐지 ? 했는데, 제출해보니 모든 테스트 케이스 다 통과되네요 ㅋㅋㅋㅋ 내 20분 어쩔거야? 😭
배운 점, 느낀 점
- 테스트 케이스가 틀릴수도있으니 일단 제출해보자. 시간 날리지 말고!
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (프로그래머스 level 1) 크레인 인형뽑기 게임 (0) | 2022.07.01 |
---|---|
[Javascript] (프로그래머스 level 1) 키패드 누르기 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 1) 내적 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 1) 모의고사 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 실패율 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 비밀 지도 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 문자열 내 마음대로 정렬하기 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 소수 찾기 (0) | 2022.06.30 |
댓글