코딩테스트

[2023-01-08]

nayoon 2023. 1. 9. 00:11

Start


Brackets 문제

스택하면 많이 만나게 되는 괄호 문제였다. 그렇다고 잘 풀거라는 뜻은 아니고..

반례에 대한 고려를 전혀 하지 않아서 그런 것 같다

내가 한 반례 처리는 오로지 empty일 경우만.. 했다..

 

찾아보니 peek을 했을 때 stack의 크기가 0일 경우 EmptyStackException 예외를 던진다.

그러니까 내 코드에서 닫힘 괄호({, (, [)가 빈 문자열에 들어가는 경우 런타임에러가 났을 거다.

 

stack이 empty가 아닐 경우에만 peek 메소드를 호출하도록 조건을 추가해주니 통과했다.


Fish 문제

 

아래로 내려오는 물고기(1)와 위로 올라가는 물고기(0)를 고려하기 위해 위로 올라가는 물고기 직전에 아래로 내려오는 물고기가 있을 경우에만 조건 고려하도록 했다.

 

방향과 물고기 크기를 각각 Stack으로 관리하였고 내려오는 경우(B의 요소가 0인 경우)에만 Stack을 확인하도록 했다.


Nesting 문제

 

주어진 string S가 nested 되어있니 아니니를 판단하는 문제인데 Brackets 문제와는 다르게 (, )로만 구성되어있다.

예상된 값은 0인데 -1이 반환되어서 틀렸다는 이야기인데, 마지막 줄 로직을 조금 수정하면 될 것 같다.

아래 줄을 조금 수정했다.

값이 0이어야 하는데, stack.size()가 0일 경우 result가 1로 변경되는 경우를 막기 위해 result = -1로 초기화하고 result != -1일 경우에만 값을 변경하도록 맨 아랫줄을 수정했었는데, stack.size()가 홀수일 경우 result = 0이 되도록 수정하였다.

 

 

 

 

 

 

'코딩테스트' 카테고리의 다른 글

[2023-01-14]  (0) 2023.01.14
[2023-01-11]  (0) 2023.01.12
[2023-01-05]  (0) 2023.01.05
[2023-01-03]  (0) 2023.01.03
[2023-01-02]  (0) 2023.01.03