문제설명
정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ n_str ≤ 10
- n_str이 "0"으로만 이루어진 경우는 없습니다.
입출력 예
입출력 예 #1
- "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다.
입출력 예 #2
- "854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다.
코드 설명
var answer = '';
- answer라는 빈 문자열을 선언합니다. 이 변수는 결과값을 저장하는 용도로 사용됩니다.
let len = n_str.length;
- len 변수에 n_str의 길이를 저장합니다. 이는 반복문에서 문자열의 길이를 자주 사용하지 않기 위해 미리 저장한 것입니다.
for(let i = 0; i < len; i++)
- for 반복문을 사용하여 n_str을 순회합니다. 반복문은 i가 0부터 len-1까지 실행됩니다.
if(n_str[i] !== '0')
- 반복문 내부에서 현재 문자 n_str[i]가 '0'이 아닌 경우를 확인합니다. 즉, 첫 번째로 등장하는 '0'이 아닌 숫자를 찾습니다.
for(let j = i; j < len; j++){
answer += n_str[j];
}
break;
- i부터 len-1까지 두 번째 for 반복문을 실행합니다. 이 반복문에서는 answer에 해당 문자들을 추가합니다.
소스코드&결과
소스 코드
function solution(n_str) {
var answer = '';
let len = n_str.length;
for(let i = 0; i < len; i++){
if(n_str[i] !== '0'){
for(let j = i; j < len; j++){
answer += n_str[j];
}
break;
}
}
return answer;
}
실행결과
다른 사람이 짠 코드
const solution = (str) => String(Number(str))
- Number(str)을 통해 문자열 str을 숫자로 변환합니다.
이때, 숫자로 변환할 수 없는 문자열은 NaN(Not a Number)으로 변환됩니다. - String()을 사용하여 앞서 변환된 숫자를 다시 문자열로 변환합니다.
이때, 숫자로 변환할 수 없는 경우에도 'NaN' 문자열로 변환됩니다.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[JAVA] JadenCase 문자열 만들기 (6) | 2023.08.04 |
---|---|
[JAVA] 로또의 최고 순위와 최저 순위 (2) | 2023.08.02 |
[JavaScript] 공백으로 구분하기 2 (2) | 2023.07.30 |
[JavaScript] 최댓값과 최솟값 (0) | 2023.07.30 |
[JAVA] 다트 게임 (2) | 2023.07.28 |