[TIL] 프로그래머스: 문자열에서 숫자만 추출하고 정렬하기

Eden·2024년 12월 13일
3

TIL

목록 보기
69/92
post-thumbnail

문제 설명

문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 반환하는 solution 함수를 작성하는 문제.

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • my_string에는 숫자가 한 개 이상 포함되어 있습니다.
  • my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다.

입출력 예

my_stringresult
"hi12392"[1, 2, 2, 3, 9]
"p2o4i8gj2"[2, 2, 4, 8]
"abcde0"[0]

작성한 코드

import Foundation

func solution(_ my_string: String) -> [Int] {
    var arr: [Int] = []
    
    for char in my_string {
        if let intValue = char.wholeNumberValue {
            arr.append(intValue)
        }
    }
    return arr.sorted(by: <)
}

새로 배운 메서드!!!
wholeNumberValueCharacter 타입의 프로퍼티로, 해당 문자가 숫자(0-9)로 표현될 수 있는 경우 정수 값(Int)을 반환한다. 만약 문자가 숫자가 아니라면 nil을 반환한다.

배운 점

  • 문자열에서 숫자를 추출하는 작업에 wholeNumberValue를 사용하면 간결하고 명확하게 구현할 수 있다는 점을 알게 되었다.
  • 문자열 탐색과 숫자 판별을 동시에 처리하는 방법을 익혔다.
  • sorted(by:) 메서드를 사용해 배열을 정렬하는 방법을 복습할 수 있었다.
profile
Frontend🌐 and iOS

0개의 댓글