노력에는 지름길이 없으니까요

프로그래머스 - 푸드 파이트 대회 Python ver. 본문

Python/프로그래머스

프로그래머스 - 푸드 파이트 대회 Python ver.

데건 2024. 7. 4. 10:44
728x90

 

해결일 언어 레벨 테스트명
20240704 Python level 1  푸드 파이트 대회

 

링크 : https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

 

 


 

내 코드

def solution(food):
    temp = ''  
    for i in range(len(food)):
        temp+=str(i)*(food[i]//2)
    return temp + '0' + temp[::-1]



 

개선점:

enumerate 쓰는 연습하기!!!

 

 

베스트 코드

def solution(food):
    first = ''.join(str(foodNumber) * (quantity // 2) for foodNumber, quantity in enumerate(food))
    second = first[::-1]
    answer = first + '0' + second


    return answer

 

def solution(food):
    answer ="0"
    for i in range(len(food)-1, 0,-1):
        c = int(food[i]/2)
        while c>0:
            answer = str(i) + answer + str(i)
            c -= 1
    return answer

 

for랑 while문을 동시에 사용할 수도 있다니...

근데 이 중 어느 것이 효율적인 코드인지는 잘 모르겠다

 

def solution(food):
    answer = ''
    for i,n in enumerate(food[1:]):
        answer += str(i+1) * (n//2)
    return answer + "0" + answer[::-1]

 

728x90
반응형