Archive/Questions

[programmers/Swift] 푸드 파이트 대회

Marco 2022. 11. 13. 16:42
728x90

programmers.co.kr - 코딩테스트연습 - Lv.1 - 연습문제 - 푸드 파이트 대회

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

Constraints :

  • 2 ≤ food의 길이 ≤ 9
  • 1 ≤ food의 각 원소 ≤ 1,000
  • food에는 칼로리가 적은 순서대로 음식의 양이 담겨 있습니다.
  • food[i]는 i번 음식의 수입니다.
  • food[0]은 수웅이가 준비한 물의 양이며, 항상 1입니다.
  • 정답의 길이가 3 이상인 경우만 입력으로 주어집니다.

Solution.swift :

//
//  Created by Yongwoo Marco on 2022/11/12.
//  Copyright © 2022 Yongwoo Marco Kim. All rights reserved.
//

func solution(_ food:[Int]) -> String {
   let assigned = Array(food[1..<food.count])
                  .enumerated().map({ ($0.element / 2, $0.offset + 1) })
   var result = ""
	
   for track in [assigned, [(1, 0)], assigned.reversed()] {
      for tuple in track {
         result += [String](repeating: "\(tuple.1)", count: tuple.0).joined()
      }
   }

   return result
}

print(solution([1, 3, 4, 6]))	// "1223330333221"
print(solution([1, 7, 1, 2]))	// "111303111"

How I tried this :
(할당할 음식의 갯수, 몇번째 음식인지) 튜플을 생성해서 테이블을 구성함

 

문제에 관한 모든 저작권 : https://programmers.co.kr/

728x90