[ 백준 1406 : 에디터 ]
스택개념을 안다면 다들 쉽게 풀 수 있는 문제가 몇 가지 있는데
대표적으로 괄호 판단 하는 문제나 사칙연산문제들 그리고 메모장문제가 있다.
내각 메모장 문제라고 하는 문제들은 스택을 두 개 써서 커서를 움직이면서 중간에 글자를 삽입하고 지우고 할 수 있는 문제들이다.
링크드리스트로도 풀 수 있겠지만 0.3초의 짧은 제한시간인만큼 계속해서 커서를 옮기고 최대 글자 수가 60만이기 때문에 무리가 있다.
일단 스택을 두 개(ST1, ST2) 를 쓴다고 가정하면 커서의 위치는 ST1의 사이즈가 된다.
기본 개념은
글자를 단순히 추가할때는 ST1에 푸쉬를 한다. 그리고 커서를 왼쪽으로 옮길때는 ST1의 TOP을 ST2로 푸쉬한다. 그리고 ST1을 POP한다.
또한 커서를 오른쪽으로 옮길때는 반대로 하면되고 해당 커서에서 글자를 삭제할때는 ST1에서 POP하면된다.
그리고 총 문자를 출력할때는 ST1의 인덱스 0부터 ST1.SIZE()까지 ST2.SIZE()-1부터 ST2인덱스0까지 출력하면 된다.
O(N)으로 0.3초안에 들어오니 충분히 풀만하다.
괄호판단 문제나 메모장문제는 다 비슷비슷한 유형이기때문에 한 번 제대로 풀어보면 다음엔 수월하게 풀 수 있다.
이 블로그 검색
피드 구독하기:
댓글 (Atom)
-
[ 백준 1024 : 수열의 합 ] 간만에 푼 백준~ 쉬운 문제라고 생각하고 풀었는데 계속 틀려서 봤더니 예외 처리를 한 개 안해준것이 있었다. 만약 이 글을 보기전에 풀었을때 채점이 60%에서 자꾸 틀린다면 90%확률로 나와 같은 실수를 ...
-
[백준 1091 : 카드 섞기 ] 이 문제도 5달 전에 풀었다가 포기했었던 문제였나보다. 오늘 틀렸던 문제 다시풀기 중 풀게 되었다. 문제를 읽는데 헷갈려서 머리카락 한 10번은 쥐어짠듯. 아마 전에 풀었을때는 P배열이 각 카드가 최후에 ...
-
아마 나와 비슷한 나이대의 학생들은 대부분 대학에서 수업을 들으면서 꾸준하게 들었을 것 같다. 물론 내가 그래서 그렇다. 4차산업~ IT의 시대~ 빅데이터~ 데이터 마이닝~ 하지만 컴퓨터 관련 전공자가 아니고 더군다나 공학 계열 전공자가 아니라...
[백준 16236] 아기 상어
[ 백준 16236 : 아기 상어 ] 2018 삼성전자 sw직무 하반기 기출문제입니다. 역대 삼성전자 기출문제가 그렇듯 역시나 BFS,DFS,완탐,DP,단순구현 입니다. 저는 문제를 단순히 BFS로 풀어갔습니다. 조건만 잘 지킨다면 한번에 ...
댓글 없음:
댓글 쓰기