1874 스택 수열 / c++ / Silver2 / 27분
문제 및 코드
접근 방식
자료 구조 / 스택
- 이름부터 대놓고 스택을 쓰라고 나와있어서, 스택으로 접근해서 해결했다.
- 문제를 이해하는데 조금 헷갈리는 부분이 있었는데, 핵심은 스택에 ‘집어(push)넣었다가 꺼냄(pop)’으로써 입력으로 주어진 수열을 완성하는 것이었다.
- 처음엔 배열에 입력을 다 저장해두고, 스택에 넣을 숫자도 미리 배열에 넣어둘까 했는데, 메모리 낭비라는건 금방 깨달을 수 있었다. (입력은 Input 변수에 그 때 그 때 받아서 사용하면 되고, 마찬가지로 스택에 저장할 수도 Current 라는 변수를 활용해서 for loop를 돌렸다.)
다시 생각해 볼 점
- 스택의 작동 원리만 이해하고 있으면 금방 해결할 수 있는 문제였는데 시간을 꽤나 잡아먹었다. 내가 알고리즘에 오래 손을 떼고 있었다는걸 다시 한 번 느낄 수 있었다.
- 접근 방식의 3번처럼, 효율적으로 구현하는 방법을 바로바로 떠올릴 수 있게 꾸준히 문제를 풀어야겠다.