본문 바로가기
프로그래머스 풀이

프로그래머스 -푸드 파이트 대회- LV1

by 반오십 코린이 2023. 1. 8.
728x90


list를 String으로 바꾸는 문법에 대해 잘 몰랐던 문제.

food = [1,3,4,6] 라고 한다면

food 리스트의 길이만큼 반복문을 돌리며

food의 각 element가 짝수거나 홀수 일 수 있는데 이를 2로 나눈 몫을 구한다. (7일 경우 3, 6일 경우 3)

element 홀수일 경우에 남은 하나는 버리기 때문에 위와 같이 몫을 구하는 연산을 진행하였다.

해당 몫으로 그 값 만큼 idx를 list에 append 해준다.

새로운 list에 기존 list의 element 들을 append 하고

가운데 물을 나타내는 0을 append

마지막으로 기존 list를 반전시킨 list를 append한 후

list를 String으로 바꾸는 동작을 수행시키고 반환하면 종료

 

알게 된 문법

answer = ''.join(str(item) for item in temp2) #listToString

 

list 타입인 temp2의 element 들을 뽑아내어 str로 바꿔준 후, 공백없이 붙이면 종료.


def solution(food):
    temp = [] #기본 리스트
    temp2 = [] #합치는 용        
    len_food = len(food)

    for i in range(1, len_food):
        num = (food[i]) // 2
        for _ in range(num):
            temp.append(i)

    for item in temp: #A 참가자가 먹는 음식 리스트
        temp2.append(item)
    temp2.append(0) #물
    temp.reverse()
    for item in temp: #B 참가자가 먹는 음식 리스트
        temp2.append(item)
    answer = ''.join(str(item) for item in temp2) #listToString
    

    return answer
728x90