728x90
반응형
문제 설명
1. 전체 학생의 수, 체육복을 도난당한 학생 위치, 여벌 체육복을 가진 학생 위치가 주어진다.
2. 여벌 체육복을 가진 K번째 학생은 자기 앞, 뒤의 학생 즉 K-1, K+1번 학생 둘 중 한명에게만 체육복을 빌려줄 수 있다.
3. 최대한 많은 학생이 체육을 들을 수 있게 여벌 체육복을 가진 학생이 빌려주어야 한다.
풀이 과정
1. 학생의 수가 주어지면 체육복을 빌려야 하는 학생은 -1, 빌려준 수 있는 학생은 1로 세팅해 준다. 나머지는 0이다.
2. 전체 학생을 돌아가면서 옷을 잃어버린 경우 빌리도록 한다.
3. 처음부터 끝까지 진행하기 떄문에 자기 뒤의 학생에게 쭉 옷을 빌리게 되면 최대값을 가질 수 있다.
4. 그런데 자기 뒤의 학생은 체육복이 없고, 앞의 학생에게 있는 경우가 있을 수 있으므로, 앞이 해당하지 않는 경우 이 process를 진행하면 된다.
코드
반응형
'알고리즘 공부' 카테고리의 다른 글
[백준 1062번] 가르침 - java (0) | 2021.05.09 |
---|---|
[프로그래머스] 프린터 - java (0) | 2021.05.02 |
[프로그래머스] 모의고사 - java (0) | 2021.05.02 |
[백준 1987번] 알파벳 - java (0) | 2021.05.02 |
[백준 2607번] 비슷한 단어 - java (2) | 2021.05.01 |