코딩문제풀이/파이썬
[프로그래머스] 체육복 (파이썬)
오늘밤공부
2023. 3. 10. 14:26
반응형
🗓️ 문제 설명
- 점심시간에 도둑이 들어 일부 학생이 체육복을 도난당해 여벌 체육복이 있는 학생이 체육복을 빌려주려 합니다.
- 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호 혹은 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다.
- 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 주어집니다.
- 체육수업을 들을 수 있는 학생의 최댓값을 반환하세요.
- 제한 사항
- 2 ≤ n ≤ 30
- 1 ≤ lost의 길이 ≤ n
- 1 ≤ reserve의 길이 ≤ n
- lost와 reserve는 중복 없음
- 여벌 체육복이 있는 학생만 다른 학생에게 체육복을 빌려줄 수 있음
- 여벌 체육복을 가져온 학생이 체육복을 도난당했을 경우, 체육복을 빌려줄 수 없음
- 입출력 예시
n | lost | reserve | return |
5 | [2, 4] | [1, 3 5] | 5 |
5 | [2, 4] | [3] | 4 |
3 | [3] | [1] | 2 |
💻 코드
최종 코드
- 수정사항
>> 새로운 lost, reserve를 정렬
코드 풀이
다른 사람 풀이
더보기

풀이 1번

- 2~3번줄 : lost와 reserve에 중복으로 존재하는 학생을 제외
- 4번줄 : 새로운 reserve에서 학생을 꺼내는 반복문 실행
- 5~6번줄 : 체육복을 빌려줄 수 있는 학생 번호를 저장
- 7~10번줄 : lost에서 체육복을 빌릴 수 있는 학생을 제외
- 11번줄 : 전체 학생 수에서 체육복을 빌리지 못한 학생을 뺄셈
⚙️ 시행착오
1차 시도
더보기


- 테스트 케이스 13, 14번에서 실패
- lost & reserve가 각각 [4,2], [3,5]일 경우, 테스트 실패가 발생
반응형