코딩테스트 준비(kotlin)/기본
[kotlin] 푸드 파이트 대회
1chanhue1
2024. 5. 27. 14:21
문제 풀이 방법
주어진 IntArray의 맨 끝 인덱스부터 접근한다.
물은 항상 가운데에 있어야 하므로 물 한개(0)를 먼저 리스트에 추가
주어진 배열을 기준의 맨 끝 인덱스를 접근하여 (배열의 요소/2 ) 만큼 리스트의 맨 앞과 맨 뒤에 값을 추가한다.
fun solution(food: IntArray): String {
var index = food.size - 1
var list = arrayListOf<Int>()
list.add(0) // 리스트에 먼저 0부터 삽입
while (0 < index) { // 처음시작의 시작은 배열의 끝 인덱스부터
for (i in 0 until food[index] / 2) {
list.add(0, index) // 리스트의 맨 앞
list.add(list.size, index) // 리스트의 맨 뒤
}
index--
}
return list.joinToString("")
}