인천의 자유인

[Python] 푸드 파이트 대회 - 프로그래머스(Lv.1) 본문

Python/Python코딩테스트

[Python] 푸드 파이트 대회 - 프로그래머스(Lv.1)

Youngook 2024. 6. 22. 08:26
728x90
반응형

반응형

 

 

 

 

나의 문제 풀이

def solution(food):
    answer = ''
    for i in range(1,len(food)):
    	answer += str(i)*(food[i]//2)
    return answer + '0' + ''.join(reversed(answer))

 

0번 인덱스 자리는 무조건 물이기 때문에 인덱스 1부터 시작을 합니다.

answer이라는 빈 문자열에다 숫자 배치를 더하는데 i를 str로 변환해 주고 food[i]를 2로 나누어 줍니다. 만약 food[i]가 1이라서 0이 된다면 아무것도 안더해지고 1보다 큰 수는 str형으로 변환해준 i에다 food[i]를 2로 나누어준 수를 곱하기 때문에 왼쪽에서 부터 먹는 선수 부분의 숫자 배치는 완료 됩니다. 그리고 거기다 문자열 0을 더해준뒤(가운데는 물이 무조건 들어가야 하기 때문) 오른쪽 부터 먹는 선수 부분의 숫자배치를 더해줍니다. 오른쪽 부터 먹는 선수 부분은 왼쪽부터 먹는 선수와 반대 순서여야하기 때문에 문자열를 뒤바꾼 채로 문자열을 더한 후 return했습니다.

728x90
반응형