코딩문제풀이/파이썬

[프로그래머스] 푸드 파이트 대회 (파이썬)

오늘밤공부 2023. 4. 2. 10:00
반응형

🗓️ 문제 설명

  • 선수들이 1대 1로 대결하는 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다.
  • 준비된 음식을 일렬로 배치한 뒤, 양쪽 끝에서 출발한 선수 중 중앙의 물을 먼저 먹는 선수가 승리합니다.
  • 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양은 같아야 하며 음식을 먹는 순서도 같아야 합니다.
  • 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다.
  • 이번 대회를 위해 음식을 주문하는데, 대회의 조건을 고려하지 않고 주문하여 몇 개의 음식을 사용하지 못하게 되었습니다.
  • 준비한 음식의 양을 칼로리가 적은 순서대로 나타내는 정수 배열 food가 주어졌을 때, 대회를 위한 음식의 배치를 반환하세요.
  • 제한 사항
    • 2 ≤ food의 길이 ≤ 9
    • 1 ≤ food의 각 원소 ≤ 1000
    • food에는 칼로리가 적은 순서대로 음식의 양이 담김
    • food[0]은 물이며 항상 1
    • food[i]는 i번 음식의 수
    • 정답의 길이가 3 이상인 경우만 주어짐
  • 입출력 예시
food result
[1, 3, 4, 6] "1223330333221"
[1, 7, 1, 2] "111303111"

 

💻 코드

최종 코드

 

코드 풀이

 

다른 사람 풀이

더보기

풀이 1번

  1. 2번줄 : answer에 '0'을 저장
  2. 3번줄 : food에서 마지막 음식부터 꺼내는 반복문 실행
  3. 4번줄 : i번 음식을 2로 나눈 몫을 c에 저장
  4. 5번줄 : c가 0이 될 때까지 반복하는 반복문 실행
  5. 6~7번줄 : answer의 i번 음식을 저장한 뒤 c를 하나씩 빼줌

 

반응형