알고리즘
릿코드 2391. Minimum Amount of Time to Collect Garbage 코틀린
rkrkrr0101
2023. 11. 21. 10:44
각 쓰레기종류마다 이동비용카운트 생성
집으로 루프돌리고
현재 이동비용을 카운트에 추가,
현재위치에 해당쓰레기가 있으면 카운트를 res에 추가하고 초기화,
쓰레기갯수만큼 +1
정답
class Solution {
fun garbageCollection(garbage: Array<String>, travel: IntArray): Int {
val travelList= listOf(0) +travel.toList()
var mMoveCount=0
var pMoveCount=0
var gMoveCount=0
var res=0
for ((index,value) in garbage.withIndex()){
mMoveCount+=travelList[index]
pMoveCount+=travelList[index]
gMoveCount+=travelList[index]
val mCount = value.count { it == 'M' }
val pCount = value.count { it == 'P' }
val gCount = value.count { it == 'G' }
if (mCount!=0){
res+=mMoveCount
mMoveCount=0
res+=mCount
}
if (pCount!=0){
res+=pMoveCount
pMoveCount=0
res+=pCount
}
if (gCount!=0){
res+=gMoveCount
gMoveCount=0
res+=gCount
}
}
println(res)
return res
}
}
중복 오지게들어가서 뺴고싶은데 귀찮으니 참는다