4.5개월간의 긴 여정이 오늘 시작됐다.
백엔드를 그만두고 새롭게 시작하는 것이 늦었다고 생각하기 때문에 두렵지만 잘 이겨내고 좋은 직장에 취직할 것이라고 믿는다.
10월에 마무리를 했을 때 후회가 남지 않도록 열심히 하자.
---
TIL 코트카타 64번(체육복)
fun solution(n: Int, lost: IntArray, reserve: IntArray): Int {
var uniformStatus = IntArray(n+1)
for(reserveNumber in reserve) {
uniformStatus[reserveNumber] = 1
}
var answer = n
for(lostNumber in lost) {
if(uniformStatus[lostNumber] == 1)
uniformStatus[lostNumber] = 0
else {
uniformStatus[lostNumber] = 2
answer--
}
}
for(studentNumber in 1..n) {
var currentStatus = uniformStatus[studentNumber]
if(currentStatus == 1) {
if(uniformStatus[studentNumber - 1] == 2) {
uniformStatus[studentNumber - 1] = 0
uniformStatus[studentNumber] = 0
answer++
continue
}
if(studentNumber < n && uniformStatus[studentNumber + 1] == 2) {
uniformStatus[studentNumber] = 0
uniformStatus[studentNumber + 1] = 0
answer++
}
}
}
return answer
}
포인트
- 1번부터 인덱싱을 하면서 앞 번호에서 이미 빌렸을 수 있는 가능성이 있는 사람부터 탐색(그래야 최대한 많이 빌려줄 수 있으므로)
ex) XOXOO
O : 여분이 있는 사람
X : 도난 맞은 사람
왼쪽에서 오른쪽 방향으로 탐색을 하기 때문에 여분이 있는 사람 기준 왼쪽->오른쪽 순서로 빌려줄 사람을 골라야 최대한 많이 빌려줄 수 있다.
'TLI > 코드카타' 카테고리의 다른 글
2024.05.28 TIL 코트카타 65번(문자열나누기) (0) | 2024.05.28 |
---|---|
2024.05.28 TIL 코트카타 62번(옹알이(2)) (0) | 2024.05.28 |
2024.05.24 TIL 코트카타 61번(로또의 최고 순위와 최저 순위) (0) | 2024.05.24 |
2024.05.23 TIL 코트카타 60번(기사단원의 무기) (0) | 2024.05.23 |
2024.05.23 TIL 코트카타 59번(덧칠하기) (1) | 2024.05.23 |