728x90
반응형
1. 문제 설명
2. 풀이과정
- 물을 기준으로 앞, 뒤로 배치해야 하므로 appendleft() 함수와 append() 함수를 사용하기 위해 deque 자료구조를 활용한다. deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque
- 각 음식 배치를 저장할 deque을 생성한다. d = deque()
- 처음에 기준이 되는 물을 배치한다. 각 음식은 인덱스 값을 추가한다. d.append(0)
- 각 음식을 추가하는 방식으로 배치하기에 음식을 칼로리가 높은 순으로 불러온다. for i in range(len(food) - 1, 0, -1)
- 불러온 음식의 개수를 2로 나눈 몫만큼 각 사람당 먹을 수 있다. for _ in range(food[i] // 2)
- 각 음식의 수만큼 반복하며 각 사람당 배치를 한다. d.appendleft(i) d.append(i)
- 음식의 배치를 모두 마치면 deque의 각 원소를 추출하여 문자열로 저장한다. for i in d: answer += str(i)
반응형
3. 소스코드
from collections import deque
def solution(food):
answer = ''
d = deque()
d.append(0)
for i in range(len(food) - 1, 0, -1):
for _ in range(food[i] // 2):
d.appendleft(i)
d.append(i)
for i in d:
answer += str(i)
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 추억 점수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
---|---|
[프로그래머스] 콜라 문제 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
[프로그래머스] 멀리 뛰기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
[프로그래머스] 가장 가까운 같은 글자 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.12 |
[프로그래머스] N개의 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.12 |
[프로그래머스] 점프와 순간 이동 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.12 |
[프로그래머스] 구명보트 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.10 |
[프로그래머스] 두 개 뽑아서 더하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.10 |