728x90
반응형
코딩테스트 연습 - 푸드 파이트 대회 | 프로그래머스 스쿨 (programmers.co.kr)
[문제 요약]
- 입력은 food 리스트가 주어진다.
- 리스트의 0번째 인덱스는 의미가 없다.
- 인덱스 1번부터 칼로리 1, 인덱스 2번은 칼로리 2, 3번은 3,,, 이런식으로 증가한다.
- 결과는 0을 중심으로 대칭이다.
[문제 해결 과정]
- 리스트는 1번 인덱스부터 읽는다.
- 인덱스와 칼로리가 동일하기 때문에 인덱스를 문자열로 변환시켜야 한다.
- 결과가 0을 중심으로 대칭이기 때문에 0 앞에만 만들고, 뒤집어서 0 뒤에 붙인다. 데칼코마니 느낌,,
- 0을 기준으로 한쪽만 만들어주기 때문에 음식 개수를 2로 나눈다. 홀수의 경우 소수가 생기기 때문에 // 연산을 이용해 버린다.
[정답]
def solution(food):
tmp = ''
for i in range(1, len(food)):
tmp += str(i) * (food[i] // 2)
return tmp + '0' + tmp[::-1]
728x90
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 명예의 전당 (1) (파이썬) (0) | 2023.06.21 |
---|---|
[프로그래머스] 폰켓몬(파이썬) (0) | 2023.06.21 |
백준 1373 (0) | 2022.07.07 |
백준 3711 파이썬 (0) | 2022.06.13 |
백준 2755 파이썬 (0) | 2022.01.20 |
댓글