728x90
반응형
문제 설명
정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ n_str ≤ 10
- n_str이 "0"으로만 이루어진 경우는 없습니다.
입출력 예
n_str | result |
"0010" | "10" |
"854020" | "854020" |
입출력 예 #1
- "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다.
입출력 예 #2
- "854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다.
[나의 풀이]
class Solution {
public String solution(String n_str) {
return String.valueOf(Integer.parseInt(n_str));
}
}
[다른 풀이]
class Solution {
public String solution(String n_str) {
int index = -1;
for (int i = 0; i < n_str.length(); i++) {
if(n_str.charAt(i) >= '1') {
index = i;
break;
}
}
return n_str.substring(index);
}
}
문자열의 길이만큼 loop를 돌린다.
문자열의 첫번째 요소값이 '1'보다 크거나 같으면 해당 index를 글로벌 변수에 저장하고 루프를 종료한다.
(여기서 char끼리의 비교는 unicode값의 비교다 - 값이 클수록 unicode값도 커진다.)
이후 문자열에서 저장된 인덱스 만큼 문자열을 잘라낸 이후의 값을 반환한다.
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[80] JAVA 마지막 두 원소 (0) | 2023.11.29 |
---|---|
[79] JAVA 배열의 길이에 따라 다른 연산하기 (1) | 2023.11.29 |
[77] JAVA 수 조작하기 1 (0) | 2023.11.29 |
[76] JAVA 정수 찾기 (1) | 2023.11.28 |
[75] JAVA n보다 커질 때까지 더하기 (1) | 2023.11.28 |