[프로그래머스] LEVEL 1 - 푸드 파이트 대회 (Pyton && Kotlin)

곽호택·2023년 10월 8일
0

프로그래머스

목록 보기
4/4
post-thumbnail
post-custom-banner

문제 링크

최근에 코틀린 실력의 부족함을 깨닫고... 파이썬으로 먼저 풀어보고 코틀린으로도 풀어보고 있다!

파이썬

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()
profile
잘하고싶다
post-custom-banner

0개의 댓글