일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- METACLASS
- classproperty
- 우아한 테크코스 2차 합격
- springboot 3.0.0
- github skyline
- python
- TypeError: 'property' object is not iterable
- classmethod
- github
- AWS S3
- MySQL server on 'db' (115)
- OperationalError
- 2차 코딩테스트
- depends_on
- S3
- AWS
- 재귀함수가 뭔가요
- EC2
- Django
- Spring
- docker
- python all testcode
- DB
- javascript
- 우아한테크코스 2차
- depends
- 코딩테스트
- 갓재석
- docker-compose
- 프로그래머스
Archives
hanbin.dev
[코딩테스트] 프로그래머스 체육복 with javascript 본문
문제 풀이 코드
function solution(n, lost, reserve) {
var answer = 0;
var duplicatedStudent = []
for (var i = 0; i < lost.length; i++){
if (reserve.includes(lost[i])){
duplicatedStudent.push(lost[i]); // #1
}
}
for (var student of duplicatedStudent){
var reserveIdx = reserve.indexOf(student); // #2
reserve.splice(reserveIdx,1);
var lostIdx = lost.indexOf(student);
lost.splice(lostIdx,1);
}
answer = n - lost.length; // #3
for (var lostedStudent of lost){
var canReserve = false;
for (var i of [-1,1]){
if (reserve.includes(lostedStudent + i)){ // #4
const idx = reserve.indexOf(lostedStudent + i);
reserve.splice(idx,1);
answer += 1;
break;
}
}
}
return answer;
}
#1
체육복이 도난 당했으면서, 여분의 체육복이 있는 사람 리스트를 저장해 둔다.
#2
미리 저장해둔 체육복이 도난 당했으면서, 여분의 체육복이 있는 사람을 lost, reserve 에서 제거한다.
#3
체육 수업을 들을 수 있는 사람 = 총 인원 - 체육복 잃어버린 사람
으로 만들어두고 친구에게 빌린 사람을 하나씩 추가한다.
#4
앞 번호 뒷 번호를 검사하면서 여분의 체육복이 있는 사람에게 체육복을 빌린다.
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 프로그래머스 프린터 with Python (0) | 2021.05.10 |
---|---|
[코딩테스트] 프로그래머스 다리를 지나는 트럭 with Python (0) | 2021.05.09 |
[코딩테스트] 프로그래머스 기능개발 with javascript (0) | 2021.05.07 |
[코딩테스트] 프로그래머스 베스트앨범 with javascript (0) | 2021.05.06 |
[코딩테스트] 프로그래머스 위장 with javascript (0) | 2021.05.06 |