-
[2019 동계 모각코] 3차시 - 결과모여서 각자 코딩/2019 동계 모각코 2022. 3. 13. 00:03728x90
연결리스트를 이용한 stak구조 구현 & 응용
연결리스트를 이용하여 stack구조를 구현한 클래스를 작성하고 그 클래스를 이용하여 사칙연산으로 이루어진 문자열을 입력받았을 때 괄호 쌍들의 인덱스 값을 반환하고 괄호쓰기가 맞는지 틀린지 결정하는 클래스를 작성한다.
stack을 구현한 클래스는 연결리스트에 노드를 삽입하는 메소드와 노드를 삭제하고 값을 반환하는 메소드로 이루어진다.
1) 삽입메소드 - add()
: 제일 최근에 삽입된 노드를 head로 하여 삽입한다.
2) 삭제메소드 - pop()
: 제일 마지막에 삽입된 노드를 삭제하고 삭제한 노드의 값을 반환한다.
사칙연산에서 괄호의 인덱스값과 괄호쓰기가 맞는지 결정하기 위한 클래스
: 사칙연산을 입력받아 글자 하나씩 배열에 저장하고 반복문을 통해 괄호의 개수를 세서 괄호쓰기 여부를 출력한다.
반복문을 배열의 길이만큼 돌리면서
= '(' 괄호가 나오면 삽입 메소드를 이용해 인덱스 값으로 연결리스트를 만든다.
= ')' 괄호가 나오면 삭제 메소드를 이용해 노드의 값인 인덱스 값과 ')'괄호의 인덱스 값을 동시에 출력한다.
느낀점
stack구조를 구현하는 것 자체는 이전에 DoubleLinkedList로 구현을 해봐서 어렵지는 않았다. 하지만 이 stack구조를 사칙연산 괄호 클래스에 사용하는 방법을 생각하는 것이 어려웠다. 자료구조를 구현하는 것 뿐만아니라 이 것을 적절하게 잘 활용하는것이 중요하다는 것을 많이 느꼈다.
728x90'모여서 각자 코딩 > 2019 동계 모각코' 카테고리의 다른 글
[2019 동계 모각코] 4차시 - 결과 (0) 2022.03.13 [2019 동계 모각코] 4차시 - 시작 (0) 2022.03.13 [2019 동계 모각코] 3차시 - 시작 (0) 2022.03.13 [2019 동계 모각코] 2차시 - 추가 (0) 2022.03.13 [2019 동계 모각코] 2차시 - 결과 (0) 2022.03.12