프로그래머스 - LV.1 - 푸드파이터 대회

박종일·2023년 5월 20일
0

프로그래머스 LV.1

목록 보기
17/26


처음 접근은 food 배열의 0번째 인덱스는 무조건 0이다. 대회에 규칙에 따라 answer = '' 초기화한 문자열 변수에 가운데는 항상 0이다. 가운데를 0으로 생각하고 대칭을 이루는 구조를 생각해보았고 for문으로 구현하고자 했다.

# 가운데는 무조건 0이니 0을 가운데로 대칭 생성 for문 생각하기 

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

이게 좋은 문제 접근이라고는 생각하지 않기 때문에, 풀고 다른 사람 풀이를 참고해보았다.

from itertools import chain

def solution(food):
    stack = []
    for i in range(1, len(food)):
        for _ in range(food[i]//2):
            stack.append(i)
    return "".join(map(str, chain(stack, [0], stack[::-1])))

그래... 충분히 스택으로 풀 수 있었어...

충분히 생각은 했는지 반성하자...
오늘도 반성!

profile
존경하는 인물: 스토브리그 백승수 단장(남궁민)

0개의 댓글