-
7-6: 문자열포함관계조사Basic 2018. 10. 25. 21:23
문자열포함관계조사 ( str6.cpp )
문제
문자열 A와 B가 주어질 때, 문자열 B가 문자열 A에 포함되어 있는지를 조사하는 프로그램을 작성하시오. 단, 문자열 A와 B에는 알파벳으로만 이루어져 있으며, 공백은 포함되지 않는다고 가정한다.
입력
첫 번째 줄에 문자열 A, 두 번째줄에 문자열 B가 주어진다. 각각의 길이는 1,000을 넘지 않는다.
출력
문자열 B가 문자열 A에 포함되면 YES, 아니면 NO를 출력한다.
예제 입력
Watermelon melon
예제 출력
YES
import java.util.Scanner;
public class str6 {
/**
*
* 문제:
*
문자열 A와 B가 주어질 때, 문자열 B가 문자열 A에 포함되어 있는지를 조사하는 프로그램을 작성하시오. 단, 문자열 A와 B에는 알파벳으로만 이루어져 있으며, 공백은 포함되지 않는다고 가정한다.
*
*
* 입력:
*
*
* 출력:
*
*
* 예제 입력:
*
Watermelon
melon
* 예제 출력:
YES *
*
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String A = sc.nextLine();
String B = sc.nextLine();
char[] arrA = A.toCharArray();
char[] arrB = B.toCharArray();
System.out.println(isBSubStringOfA(arrA, arrB)? "YES" : "NO");
}
private static boolean isBSubStringOfA(char[] arrA, char[] arrB) {
if (arrB.length > arrA.length) return false;
for (int i=0; i<arrA.length-arrB.length+1; i++){
boolean isAllSame = arrA[i] == arrB[0];
for (int j=0; j<arrB.length; j++){
isAllSame &= (arrA[j+i] == arrB[j]);
}
if (isAllSame) return true;
}
return false;
}
}'Basic' 카테고리의 다른 글
7-7: 문자열 정렬 (0) 2018.10.25 7-5: 문자열 압축 (0) 2018.10.25 7-4: 팰린드롬 조사 (0) 2018.10.25 7-3: 문자열 뒤집기 (0) 2018.10.25 7-2: 대소문자 변환 (0) 2018.10.25