본문 바로가기
📖 Coding Test/Programmers LV.0

[프로그래머스 LV.0] 잘라서 배열로 저장하기

by hyebin (Helia) 2023. 1. 20.
프로그래머스 LV.0 모음

잘라서 배열로 저장하기

문제 설명

문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return 하도록 solution 함수를 완성해 주세요.

제한 사항

  • 1 ≤ my_str의 길이 ≤ 100
  • 1 ≤ n ≤ my_str의 길이
  • my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.

입출력 예

my_str n result
"abc1Addfggg4556b" 6 ["abc1Ad", "dfggg4", "556b"]
"abcdef123" 3 ["abc", "def", "123"]

입출력 예 설명

입출력 예 #1

  • "abc1 Addfggg4556 b"를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return 해야 합니다.

입출력 예 #2

  • "abcdef123"를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return 해야 합니다.

 

유의사항

  • 입출력 예 #1의 경우 "abc1 Addfggg4556 b"를 길이 6씩 자르면 "abc1Ad", "dfggg4" 두 개와 마지막 "556b"가 남습니다. 이런 경우 남은 문자열을 그대로 배열에 저장합니다.

제출

import Foundation

func solution(_ my_str:String, _ n:Int) -> [String] {
    var result: [String] = []
    var answer = ""

    for s in my_str {
        answer += String(s)
        if answer.count == n {
            result.append(answer)
            answer = ""
        }
    }
    if !answer.isEmpty {
        result.append(answer)
    }
    return result
}
String 변수에 입력받은 문자열을 하나씩 더한다.
String 변수의 길이가 n 이 되면 result 배열에 추가한 후 String 변수는 다시 초기화한다.

반복문이 종료된 후 String 변수가 비어있지 않으면 result 배열에 String 변수의 값을 추가한다. (문자열의 길이가 n으로 나누어 떨어지지 않는 경우)
반응형

댓글