코딩테스트

[프로그래머스/자바] 괄호 회전하기_76502

라임온조 2023. 7. 27. 10:44

문제 및 코드

1. 생각

// 생각
    // 괄호쌍 검사니까 스택
// 구현
    // 괄호쌍 검사하는 부분을 함수로 따로 만들기
        // 여는 괄호면 스택에 넣기
        // 닫는 괄호인데 스택 비어있지 않으면 스택에서 꺼내서 일치하는지 확인
    // 회전
        // s의 길이만큼 돌기
            // i부터 s길이만큼 substring한 결과 + 0부터 i 만큼 substring한 결과를 확인

2. 회고

  • 괄호쌍 검사의 경우 처음에 조건 잘못 확인해서 오류가 났음. 괄호쌍 검사할 때 조건을 잘 확인하자
  • 회전을 어떻게 시킬까 하다가 substring 메소드 이용해서 회전을 만들어내려고 하였음. 
  • 위의 생각대로 풀고 제출했더니 테스트 13이 통과되지 않았음
  • 혹시 몰라서 "("을 입력값으로 넣은 테케를 만들어보니 이게 문제
    • 괄호쌍 검사가 잘못 되었음. for 다 돌고 스택이 비어있는지 확인해야 하는데 이걸 안 했다
  • 회전의 경우 더 성능 좋게 StringBuilder를 이용할 수 있을 것 같고.. 다른 더 좋은 방법도 있을 것 같다.

 

 

3. 기억

  • 스택으로 괄호쌍 검사 
    • 여는 괄호 무조건 넣기
    • 닫는 괄호면 스택 비어 있으면 false
    • 닫는 괄호인데 스택이 비어있지 않으면 pop해서 확인
    • 다 돌고나서 마지막에 스택 비어있지 않으면 false

 

4. 체크

풀이 횟수 시간 정답 여부 참고 여부
1 1시간 X X