코딩테스트 연습 - 크기가 작은 부분 문자열 | 프로그래머스 스쿨
풀이
문자열을 배열로 분리
- 매개변수 t의 숫자를, 문자열 타입의 숫자로 하나로 분리한 배열로 변환한다
- 반복문에 필요한 범위와 부분문자열의 길이를 할당한다
- 부분문자열이 p보다 작거나 같으면 결괏값을 1 증가시킨다
코드
import Foundation
func solution(_ t:String, _ p:String) -> Int { // solution("3141592", "271")
// 매개변수 t의 숫자를, 문자열 타입의 숫자로 하나로 분리한 배열로 변환
let stringArray = Array(t).map { String($0) } // ["3", "1", "4", "1", "5", "9", "2"]
// 결괏값을 0으로 초기화
var count = 0
// 반복문에 필요한 범위와 부분문자열의 길이를 할당
let range = t.count - p.count + 1
let offset = p.count - 1
for i in 0..<range {
// 부분문자열 할당
let subString = stringArray[i...i+offset].joined() // "314", "271", ...
// 부분문자열이 p보다 작거나 같으면 결괏값을 1 증가
if Int(subString)! <= Int(p)! {
count += 1
}
}
// 결괏값 반환
return count
}
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] (Swift) [카카오 1차] 다트 게임 (0) | 2023.06.02 |
---|---|
[프로그래머스] 두 수의 합 (2) | 2023.05.30 |
[프로그래머스] (Swift) 카펫 - Lv.2 (0) | 2023.05.10 |
[프로그래머스] (Swift) 비밀지도 (2018 카카오 1차) - Lv.1 (0) | 2023.05.09 |
[프로그래머스] (Swift) 짝지어 제거하기 - Lv.2 (0) | 2023.05.07 |
댓글