반응형
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 527 | 153 | 127 | 38.957% |
문제
2개의 문자열 s와 t가 주어졌을 때 s가 t의 부분 문자열인지 판단하는 프로그램을 작성하라. 부분 문자열을 가지고 있는지 판단하는 방법은 t에서 몇 개의 문자를 제거하고 이를 순서를 바꾸지 않고 합쳤을 경우 s가 되는 경우를 이야기 한다.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다.
출력
입력된 s와 t의 순서대로 s가 t의 부분 문자열인 경우 Yes라 출력하고 아닐 경우 No라고 출력한다.
예제 입력 1 복사
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter
예제 출력 1 복사
Yes
No
Yes
No
코드
import java.util.Scanner;
public class p6550 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String[] str = sc.nextLine().split(" ");
String[] word1 = str[0].split("");
String[] word2 = str[1].split("");
int x = 0;
String answer = "Yes";
for (int i = 0; i < word1.length; i++) {
boolean run = false;
for (int j = x; j < word2.length; j++) {
if (word1[i].equals(word2[j])) {
x = j + 1;
run = true;
break;
}
}
if (!run) {
answer = "No";
break;
}
}
System.out.println(answer);
}
}
}
반응형
'알고리즘 > [ Baekjoon ]' 카테고리의 다른 글
[ BOJ ][JAVA][6603] 로또 (0) | 2021.04.26 |
---|---|
[ BOJ ][JAVA][6593] 상범 빌딩 (0) | 2021.04.26 |
[ BOJ ][JAVA][6443] 애너그램 (0) | 2021.04.26 |
[ BOJ ][JAVA][5622] 다이얼 (0) | 2021.04.26 |
[ BOJ ][JAVA][5597] 과제 안 내신 분..? (1) | 2021.04.26 |