Leetcode Java Clear Digits
업데이트:
문제
코드
class Solution {
public String clearDigits(String s) {
StringBuilder sb = new StringBuilder();
for (char c : s.toCharArray()) {
if (Character.isDigit(c)) {
int length = sb.length();
if (length > 0) {
sb.deleteCharAt(length - 1);
}
} else {
sb.append(c);
}
}
return sb.toString();
}
}
결과
설명
-
문자열 s에서 숫자가 존재하는 경우, 해당 값과 좌측 값을 같이 제거 후 동일한 절차를 반복하여 더 이상 제거할 문자가 없는 문자열을 반환하는 문제이다.
-
sb는 결과 문자열을 저장할 변수로, 동적 문자열 생성을 위해 StringBuilder로 초기화한다.
- s의 각 문자들을 순차적으로 c에 넣어 아래를 수행한다.
- c가 숫자인 경우, sb에 문자가 추가된 경우 마지막 문자를 제거하여 반복 조건을 만족시킨다.
- c가 문자인 경우, sb 다음 문자로 이어 넣어준다.
- 반복이 완료되면 완성된 sb를 문자열로 반환하여 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기