최근에 코틀린 실력의 부족함을 깨닫고... 파이썬으로 먼저 풀어보고 코틀린으로도 풀어보고 있다!
def solution(food):
answer = ""
for index, i in enumerate(food):
if(index == 0):
continue
else:
tmp = int(i) // 2
answer += str(index) * tmp
return answer + "0" + answer[::-1]
class Solution {
fun solution(food: IntArray): String {
var answer: String = ""
for(i in 1 .. food.size-1){
println(food[i]/2)
answer += i.toString().repeat(food[i]/2)
}
return answer + "0" + answer.reversed()
}
}
문제를 보면 알겠지만
[1, 3, 4, 6] 맨 첫 번째가 물! 그 다음 1칼로리가 3개, 2칼로리가 4개, 3칼로리가 6개이다.
2사람이 공평하게 나눠야 하므로 2로 나눈 몫을 기준으로 나누면 된다.
1칼로리 -> 3 / 2 = 1개
2칼로리 -> 4 / 2 = 2개
3칼로리 -> 6 / 2 = 3개
그러므로 답이 "1223330333221" 나온다.
한 선수를 구하기 위해 repeat()으로 반복한 문자열을 표시해준다.
한 선수만 구하고 나머지는 reversed()메소드로 뒤집어주면 되기 때문에
return answer + "0" + answer.reversed()