모여서 각자 코딩/2019 동계 모각코

[2019 동계 모각코] 3차시 - 결과

mirae.kwak 2022. 3. 13. 00:03
728x90

연결리스트를 이용한 stak구조 구현 & 응용

연결리스트를 이용하여 stack구조를 구현한 클래스를 작성하고 그 클래스를 이용하여 사칙연산으로 이루어진 문자열을 입력받았을 때 괄호 쌍들의 인덱스 값을 반환하고 괄호쓰기가 맞는지 틀린지 결정하는 클래스를 작성한다.


 

stack을 구현한 클래스는 연결리스트에 노드를 삽입하는 메소드와 노드를 삭제하고 값을 반환하는 메소드로 이루어진다.

 

1) 삽입메소드 - add()

: 제일 최근에 삽입된 노드를 head로 하여 삽입한다.

 

2) 삭제메소드 - pop()

: 제일 마지막에 삽입된 노드를 삭제하고 삭제한 노드의 값을 반환한다.

 

사칙연산에서 괄호의 인덱스값과 괄호쓰기가 맞는지 결정하기 위한 클래스

: 사칙연산을 입력받아 글자 하나씩 배열에 저장하고 반복문을 통해 괄호의 개수를 세서 괄호쓰기 여부를 출력한다.

반복문을 배열의 길이만큼 돌리면서

= '(' 괄호가 나오면 삽입 메소드를 이용해 인덱스 값으로 연결리스트를 만든다.

= ')' 괄호가 나오면 삭제 메소드를 이용해 노드의 값인 인덱스 값과 ')'괄호의 인덱스 값을 동시에 출력한다.


느낀점

stack구조를 구현하는 것 자체는 이전에 DoubleLinkedList로 구현을 해봐서 어렵지는 않았다. 하지만 이 stack구조를 사칙연산 괄호 클래스에 사용하는 방법을 생각하는 것이 어려웠다. 자료구조를 구현하는 것 뿐만아니라 이 것을 적절하게 잘 활용하는것이 중요하다는 것을 많이 느꼈다.

728x90