문자열3 [백준] 2002 추월 (Java) [2002 추월] 난이도: 실버1 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 문제 입력 출력 [아이디어] 추월했다는 건 들어갈 때의 위치보다 나갈 때 위치가 빠르다는 것이다. 따라서 위치를 확인해주면 된다. [JAVA 코드] import java.io.*; import java.util.*; public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static Str.. 2022. 6. 23. [백준] 5430 AC (Java) [5430 AC] 난이도: 골드5 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제 입력 출력 [아이디어] 이 문제는 두가지 방법으로 풀어볼 수 있다. R이 나올 때마다 정말 배열을 뒤집으면 시간초과가 난다. 하나는 덱을 사용하는 방법이고, 다른 하나는 투포인터를 사용하는 방법이다. 덱을 사용하는 것은 단순하게 앞에서 삭제할지 뒤에서 삭제할지를 저장하는 변수를 통해 덱의 내장함수인 removeFirst(), removeLast(), pollFirst(), pollLast() 를 사용해주었다. 투포인터를 사용할 때는 st와 end 위치를 저장하는 변수와 삭제 위치.. 2022. 5. 2. [백준] 1593 문자 해독 (Java) [1593 문자 해독] 난이도: 골드4 1593번: 문자 해독 첫째 줄에 고고학자들이 찾고자 하는 단어 W의 길이 g와 발굴된 벽화에서 추출한 문자열 S의 길이 |S|가 빈 칸을 사이에 두고 주어진다. (1≤g≤3000, g≤|S|≤3,000,000) 둘째 줄에 W, 셋째 줄에 S의 실 www.acmicpc.net 문제 입력 출력 [아이디어] 문자열 S를 앞에서부터 탐색하면서 문자열 W의 길이만큼 잘랐을 때 그 안에 문자열 W의 원소가 전부 있는지 확인해주는 문제이다. 문자열 W의 원소를 전부 탐색할 때 문자열 S을 자른 문자열을 비교하는 방법이 중요하다. 아마 대부분 아래와 같은 함수를 먼저 떠올리기 쉬울 것이다. 하지만, 이런 방법을 사용한다면 시간초과가 날 것이다. // W: 문자열 W // sli.. 2022. 4. 22. 이전 1 다음