-
https://www.acmicpc.net/problem/1406
1406번: 에디터
첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201406
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 주어진 명령어를 수행하고 수행 결과를 출력하는 문제다.
처음 문제를 보고 LinkedList를 사용하면 되겠다 생각했고, 사용해본 적이 없어 기본적인
동작 방식?을 구글링한후 이용해서 문제를 풀고 제출하니 시간 초과가 발생했고,
찾아 보니 Stack 또는 ListIterator를 사용해 해결할 수 있는 것을 알게 되었다.
스택은 종종 사용했기 때문에 처음 보는 ListIterator를 사용해 문제를 해결했다.
예전에 set을 사용할 때 Iterator로 출력을 많이 해줬었는데 찾아보니 list에서만 사용한 Iterator인 거
hasPrevious 나 hasNext는 이전 이후 값이 있으면 true를 리턴해주는 그런 친구고
next나 previous의 경우 현재 위치 기준으로 이동해서 객체를 가리키는 그런 친구다.
위의 메서드를 적절히 이용하면 문제를 해결할 수있고 최종 출력부분에서도 BufferedWriter를 사용해
시간을 줄여 문제를 해결할수 있었다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 11659 구간 합 구하기 4 JAVA (0) 2021.11.30 Baekjoon 13549 숨바꼭질 3 JAVA (0) 2021.11.30 Baekjoon 2776 암기왕 JAVA (0) 2021.11.27 Baekjoon 4949 균형잡힌 세상 JAVA (0) 2021.11.26 Baekjoon 1026 보물 JAVA (0) 2021.11.25 댓글