728x90
[Swift] 프로그래머스 푸드 파이트 대회(lv. 1)
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/134240
2. 접근
공정하게 왼쪽, 오른쪽이 구분되므로 먼저 왼쪽의 문자열을 먼저 구하고, 오른쪽의 배열은 왼쪽의 배열을 reversed() 한 다음 0을 기준으로 붙이면 되겠다는 생각을 했다.
leftSideArray를 만들고 거기에 food[i]의 절반 만큼만 Character(String(i))를 append 해주었다. 순차적으로 food의 끝까지 이 순환을 반복하고 leftSideArray와 0, 그리고 reverse한 leftSideArray를 붙여서 return 해주었다.
문자열을 다루는 문제로 어렵지 않게 해결할 수 있었다.
3. 코드
import Foundation
func solution(_ food:[Int]) -> String {
var result = [String]()
var leftSideArray = [Character]()
for i in 1 ... food.count - 1 {
if food[i] == 1 {
continue
}
for _ in 1 ... food[i] / 2 {
leftSideArray.append(Character(String(i)))
}
}
return String(leftSideArray)) + String("0") + String(leftSideArray.reversed())
}
728x90
'Problem Solving' 카테고리의 다른 글
[Swift] 프로그래머스 가장 가까운 같은 글자(lv. 1) (0) | 2023.02.03 |
---|---|
[Swift] 프로그래머스 [1차] 다트 게임(lv. 1) (0) | 2023.02.02 |
[Swift] 프로그래머스 실패율(2019 KAKAO Blind Recruitment)(lv. 1) (0) | 2023.01.31 |
[Swift] 프로그래머스 콜라 문제(lv. 1) (0) | 2023.01.28 |
[Swift] 프로그래머스 소수 찾기(lv. 1) (1) | 2023.01.27 |
댓글