전체 글
BOJ 1406 에디터 [Java]
BOJ 1406 에디터 - 문제 링크 https://www.acmicpc.net/problem/1406 - 문제 해설 java 내의 LinkedList를 이용하여 풀었다. ListIterator는 Iterator와는 다르게 양방향으로 원소에 접근이 가능하기에 ListIterator를 이용하였다. 18-19줄에서 커서를 맨 뒤로 보내는 작업을 먼저 해주고, 그 후 각 명령이 들어오면 그에 맞게 동작하도록 구현하였다. ListIterator 내부에 현재 보고 있는 위치를 가리키는 cursor가 있어서 메소드를 활용하면 쉽게 해결할 수 있는 문제였다. 문제에서 사용한 메소드들만 정리해보겠다. - hasNext() : iterator가 리스트를 순방향으로 순회할 때 다음 원소가 있으면 true를 없으면 fals..
BOJ 11656 접미사 배열 [Java]
BOJ 11656 접미사 배열 - 문제 링크 https://www.acmicpc.net/problem/11656 - 문제 해설 문자열과 정렬을 이용한 간단한 구현 문제이다. 입력 받을 String을 만들어주고, 앞에서부터 접미사를 한글자씩 뗀 문자열을 담을 String 배열로 ans를 만들어준다. String 클래스의 메소드 substring을 이용하여 글자를 떼어냈다. - 코드 보기 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sy..
BOJ 11655 ROT13 [Java]
BOJ 11655 ROT13 - 문제 링크 https://www.acmicpc.net/problem/11655 - 문제 해설 입력 받은 문자열에서 알파벳 대문자, 소문자의 경우만 13글자씩 밀어서 표현하면 된다. 신경써야하는 부분은 14번째 알파벳 n부터는 13글자를 밀면 z를 지나 다시 a로 돌아가서 밀린다는 것이다. char형 배열 ans을 만들어 입력 받은 문자열을 담았다. 그 후, 문자열을 문자 하나씩 검사하면서 위 내용들을 구현하였다. - 코드 보기 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(ne..
BOJ 10820 문자열 분석 [Java]
BOJ 10820 문자열 분석 - 문제 링크 https://www.acmicpc.net/problem/10820 - 문제 해설 문자열 N개가 들어오는데 N이 주어지지않는다. while문을 돌리는데 입력이 없으면 종료하도록 만들었다. 소문자, 대문자, 숫자, 공백의 횟수를 담을 크기가 4인 ans 배열을 만들었다. 입력 받은 문자열의 문자를 하나씩 살펴보며 소문자면 arr[0]을, 대문자면 arr[1]을, 숫자면 arr[2]를, 공백이면 arr[3]을 증가시켰다. - 코드 보기 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffere..
BOJ 10809 알파벳 찾기 [Java]
BOJ 10809 알파벳 찾기 - 문제 링크 https://www.acmicpc.net/problem/10809 - 문제 해설 boj 10808 알파벳 개수 문제에서 조금 변형된 문제이다. 기본적인 동작 방식은 비슷하게 하였고 몇 가지를 추가하였다. cnt배열은 각 알파벳이 단어에 처음 등장하는 인덱스를 담는다. 알파벳 'a'부터 'z'까지 돌면서 검사하는 방식이다. 각각의 알파벳이 입력된 단어에 포함되는 경우, 첫 위치를 출력해야하므로 알파벳이 단어에서 발견되면 바로 다음 알파벳으로 넘어가도록 하였다. cnt배열이 0인 경우가 두 가지 경우가 있다. 알파벳이 단어에 포함되지 않아서 0인 경우와, 알파벳이 단어의 첫번째 글자로 등장해서 0인 경우이다. cnt배열의 값이 0인 ..