티스토리 뷰

코딩테스트

Lv.0 swift 0 떼기

알롱도담쓰 2024. 3. 22. 10:20

문제 설명

정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.

제한 조건

2 ≤ n_str ≤ 10
n_str이 "0"으로만 이루어진 경우는 없습니다.

내 답안

import Foundation

func solution(_ n_str:String) -> String {
    let index = n_str.firstIndex(where: { $0 != "0" })!
    return String(n_str[index...])
}

접근 방법

  1. 처음으로 0이 아닌 다른 숫자가 나왔을 때의 인덱스를 찾아서 그 인덱스부터 끝까지 반환하기

다른 풀이

func solution(_ a:String) -> String {
    String(a.suffix(from: a.firstIndex { $0 != "0" }!))
}

firstIdex 찾을 때 suffix를 쓴 게 좋아보였다

 

func solution(_ n_str:String) -> String {
    return String(Int(n_str)!)
}

정수로 바꾸면 0이 빠지니까! 똑똑해

 

알게 된 것

'코딩테스트' 카테고리의 다른 글

Lv.0 swift 수 조작하기2  (0) 2024.03.23
Lv.0 부분 문자열 이어 붙여 문자열 만들기  (0) 2024.03.22
Lv.0 swift 할 일 목록  (0) 2024.03.21
Lv.0 swift 홀수 vs 짝수  (0) 2024.03.21
Lv.0 swift 순서 바꾸기  (0) 2024.03.21
최근에 올라온 글