프로그래머스 짝지어 제거하기를 풀어보자

JD·2021년 11월 18일
0

중요사항

  • stack

📢짝지어 제거하기

문자열 내부에 짝지어진 문자가 없을때까지 실행후 결과값에 따라 0,1반환

📢풀이

  • 문자열로 들어오니 split()사용하여 배열로 형성 한후 list에 넣음
  • 연속해서 같은 문자가 있어야 되니까 가장최근에 넣은값가 넣을값을 비교
  • size()를 사용해서 list에 값이 있는지 확인후 비교
  • for문을 사용하여 배열길이까지 반복
  • size()가 0일시 1 아닐시 0반환

코드사진

import java.util.*;

class Solution
{
    public int solution(String s)
    {
        String[] sp = s.split("");
        List<String> list = new ArrayList<String>();
        list.add(sp[0]);
        for(int i =1; i<sp.length; i++){
           
          if( list.size()>0 && 
             sp[i].equals(list.get(list.size()-1)) ) list.remove(list.size()-1);
          else list.add(sp[i]);  
              
        }
       
       
       

        return list.size()==0 ? 1:0;
    }
}

📢마치며

배열로 나누어 list에 넣을때 LIFO형식이구나까지만 생각했는데 다른사람들 풀이는 list가 아닌 stack을 사용했고 String 대신 char를 주로 사용했다 이런걸 보면 아직도 많이 부족한것같다 차근차근 생각해보고 좀 더 열심히 해야겠다

📢출처

👍프로그래머스

0개의 댓글