728x90
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 같은 알파벳이 2개 붙어있는 짝 찾기
2. 1에서 찾은 짝 제거하기 > 앞뒤로 문자열 이어부팅기
=> 문자열 모두 제거가능하면 1 리턴, 아니면 0 리턴
#예시
baabaa
b aa baa > bb aa > aa > 모두 제거
=> 1 리턴
cdcd => 0 리턴
포인트 : 직전 문자만 비교하면 됨
*StringBuilder에서 문자 제거하는 법
sb.delete(start, end); // 범위 삭제
sb.deleteCharAt(index); // 특정 위치 삭제
-정답 코드
class Solution
{
public int solution(String s)
{
int answer = -1;
StringBuilder sb = new StringBuilder();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
int l = sb.length();
if(l > 0 && sb.charAt(l-1) == c){
sb.deleteCharAt(l-1);
}
else{
sb.append(c);
}
}
return sb.length() == 0 ? 1 : 0;
}
}

'Algorithm > Programmers' 카테고리의 다른 글
| [Lv.2] 영어 끝말잇기 : Java (0) | 2026.02.03 |
|---|---|
| [Lv.2] 귤 고르기 : Java / HashMap 함수 (0) | 2026.02.02 |
| [Lv.2] 다음 큰 숫자 : Java (0) | 2026.01.30 |
| [Lv.2] 이진 변환 반복하기 : Java / 이진법 변환 함수 (0) | 2026.01.30 |
| [Lv.2] JadenCase 문자열 만들기 : Java (0) | 2026.01.28 |