알고리즘/문제
프로그래머스 알고리즘 Level 1 체육복
무삿
2023. 1. 26. 15:31
https://school.programmers.co.kr/learn/courses/30/lessons/42862
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 - 성공
class Solution {
fun solution(n: Int, lost: IntArray, reserve: IntArray): Int {
var answer = 0
val lostList = lost.filterNot { reserve.contains(it) }.sorted().toMutableList()
val reserveList = reserve.filterNot { lost.contains(it) }.sorted()
var student = 0
for(i in reserveList.indices) {
for(j in lostList.indices) {
if(reserveList[i]-1 == lostList[j] || reserveList[i]+1 == lostList[j]) {
student++
lostList.remove(lostList[j])
break
}
}
}
answer = n-lostList.size
return answer
}
}
주의해야 할 것은 빌려줄 수 있는 사람 목록에 도난당한 사람이 같이 있는 경우도 생각해야 합니다.
또한 정렬이 안되어 있는 경우도 있기 때문에 정렬해야 합니다.