프로그래머스 lv1 푸트 파이트 대회파이썬
수웅이가 준비한 음식의 양을 칼로리가 적은 순서대로 나타내는 정수 배열 food가 주어졌을 때, 대회를 위한 음식의 배치를 나타내는 문자열을 return 하는 solution 함수를 완성해주세요.
나는 문제를 보고
1. '0'의 자리는 무조건 1이니 무관하다 생각하고 풀것. 2. '0'을 기준으로 대칭이니 이렇게 접근해보기 3. runtime 신경쓰기. 쓸데 없는 변수는 만들지 말것. (대칭을 for문으로 접근하지 않고 다른 방법 생각해보기) 4. "".join() 이용해보기
로 생각하고 코드를 짰다.
def solution(food):
result = ''
for i in range(1, len(food)):
result += (str(i)*(food[i]//2))
return result + '0' + result[::-1]
for
루프 한번으로 숫자 하나를 연산후 바로 붙여주는 식으로 짰다.
0의 자리
는 무조건 1
이므로 for()
문도 1 부터 시작하게 짜고
result[::-1]
을 통해서 대칭을 만든후 그 사이에 '0'
을 붙이는 식!
바로 뒤에 붙여주기도 하고 대칭도 O(N)
이라서 그런지 runtime
은
전반적으로 0.01 나오고 끝났다... 다행...