Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 개발영어
- 파이썬설치
- Android
- 일일코테
- 알고리듬
- MediaExtractor
- Cpp
- 3진수
- NDK
- AAudio
- 데일리코테
- 크레인인형뽑기
- 알고리즘
- C++
- 안드로이드
- 이직
- JavaScript
- 커맨드라인툴
- 프로그래머스
- 코테
- 코딩시험
- CMAKE
- 데일로코테
- pyenv
- MediaCodec
- sdkmanager
- 기술인터뷰
- Python
- 완주하지못한선수
- 코딩테스트
Archives
- Today
- Total
Nomad Engineer
[일일코테 Day6] 체육복 - 프로그래머스(레벨1) 본문
문제
programmers.co.kr/learn/courses/30/lessons/42862
코딩테스트 연습 - 체육복
점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번
programmers.co.kr
풀이
코딩
function solution(n, lost, reserve) {
const students = [];
for (let i=0; i<n; ++i) {
students.push(1);
}
reserve.forEach(r => {students[r-1] = 2})
lost.forEach(l => {students[l-1] -= 1})
let answer = 0;
students.forEach((s, i, students) => {
if (s > 0) {
answer++;
return;
}
if (i > 0 && students[i-1] === 2) {
students[i-1] = 1; // borrow from before
students[i] = 1;
answer += 1;
} else if (i < students.length-1 && students[i+1] === 2) {
students[i+1] = 1; // borrow from next
students[i] = 1;
answer += 1;
}
});
return answer;
}
실수
- 여분 체육복을 가지고 온 학생도 도난당할 수 있다는 제약 사항을 잘 확인 하지 못했다.
반응형
'개발 > 코딩테스트' 카테고리의 다른 글
[일일코테 Day9] 3진법 뒤집기 (0) | 2021.03.03 |
---|---|
[일일코테 Day8] 2016년 - 프로그래머스(레벨1) (0) | 2021.03.03 |
[일일코테 Day7] K번째 수 (0) | 2021.03.01 |
[일일코테 Day4] 신규 아이디 추천 - 프로그래머스(레벨1) (0) | 2021.02.28 |
[일일코테 Day5] 모의고사 - 프로그래머스(레벨1) (0) | 2021.02.28 |