• 문제 링크
5534번: 간판
첫째 줄에 오래된 간판의 수 N이 주어진다. (1 ≤ N ≤ 100) 둘째 줄에는 상근이가 새로 연 편의점의 이름이 주어진다. 이름은 알파벳 소문자로만 이루어져 있고, 길이는 3자 이상, 25자 이하이다. 다
www.acmicpc.net
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static int t, s;
static String tgt, src;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine()), cnt = 0;
t = (tgt = br.readLine()).length();
while (n-- > 0) {
s = (src = br.readLine()).length();
for (int i = 1; i <= s / (t - 1); i++) {
if (compare(i)) {
cnt++;
break;
}
}
}
bw.write(String.valueOf(cnt));
bw.flush();
}
private static boolean compare(int gap) {
for (int i = 0; i < s - t + 1; i++) {
int idx = i, j;
for (j = 0; j < t && idx < s; j++, idx += gap) if (tgt.charAt(j) != src.charAt(idx)) break;
if (j == t) return true;
}
return false;
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 18269 Where Am I? - Brute Force / Java (0) | 2023.11.27 |
---|---|
[백준] 3711 학번 - Brute Force / Java (0) | 2023.11.26 |
[백준] 12755 수면 장애 - Brute Force / Java (0) | 2023.11.24 |
[백준] 25426 일차함수들 - Greedy / Java (0) | 2023.11.23 |
[백준] 25945 컨테이너 재배치 - Greedy / Java (0) | 2023.11.22 |
댓글