문제 설명
정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
n_str ≤ 10n_str이 "0"으로만 이루어진 경우는 없습니다.입출력 예
| n_str | result |
|---|---|
| "0010" | "10" |
| "854020" | "854020" |
입출력 예 설명
입출력 예 #1
입출력 예 #2
앞부분만 떼야하니까 shift()메서드를 사용해야한다.
제거하고 arr[0]이 0일 때까지 제거를 반복한다.
function solution(n_str) {
let arr = [...n_str]
while(arr[0] == 0){
arr.shift()
}
return arr.join("")
}0 떼는건 그냥 숫자로 바꿔주면 해결되는 건데, 요즘 반복문 문제만 풀어봐서 그런가 이 방법을 생각못했다.
const solution = (str) => String(Number(str))그 외에도 아래 같은 풀이도 좋은 방법인 것 같다.
const solution=s=>+s+''
function solution(n_str) {
return n_str.replace(/^0+/, '');
}그렇다면 swift로도 문자 -> 숫자-> 문자 과정을 거쳐 풀어보자.
단, Swift에서 문자열(String)을 숫자(Number)로 변환할 때 옵셔널(Optional)이 발생하므로 해당 부분에 대한 처리가 필요하다.
import Foundation
func solution(_ n_str:String) -> String {
return String(Int(n_str)!)
}