시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 (추가 시간 없음) | 128 MB | 1044 | 518 | 450 | 52.755% |
문제
친구가 적은 성민이는 수업에 결석해도 시험이나 과제에 대한 정보를 제대로 얻을 수 없었다. F 학점을 받을 위기까지 아슬아슬하게 결석일 수를 유지하던 성민이는, 어느 날 갑자기 영문도 모른 채 쪽지시험을 보게 되었다!
갑작스러운 쪽지 시험으로 마음이 급해진 성민이는 매직아이를 사용해 벼락치기를 하기로 한다.
성민이가 듣는 과목의 교과서는, 알파벳 소문자(a-z)와 알파벳 대문자(A-Z)로만 이루어져 있다. 성민이가 교과서에서 찾고자 하는 키워드도 역시 알파벳 소문자와 대문자로만 이루어져 있다. 하지만, 성민이에겐 큰 문제가 생겼다. 결석한 날의 수업 내용을 친구에게 빌려 필기를 하던 중, 교과서에 숫자(0-9)를 적어버린 것이다.
키워드를 찾기 힘들어 패닉에 빠진 성민이는 몇 안 되는 친구인 당신에게 도움을 요청했다. 성민이를 도와, 교과서에서 성민이가 찾고자 하는 키워드의 존재 여부를 알려주자.
입력
첫 번째 줄에는 알파벳 소문자, 대문자, 숫자로 이루어진 문자열 S가 주어진다. (1 ≤ |S| ≤ 100) 두 번째 줄에는 성민이가 찾고자 하는 알파벳 소문자, 대문자로만 이루어진 키워드 문자열 K가 주어진다. (1 ≤ |K| ≤ 100).
단, 입력으로 들어오는 키워드 문자열 K의 길이는, 교과서의 문자열 S보다 짧거나 같다.
출력
첫 번째 줄에 성민이가 찾고자 하는 키워드가 문자열 내에 존재하면 1, 존재하지 않으면 0을 출력한다.
예제 입력 1
1q2w3e4r5t6y
qwerty
예제 출력 1
1
"1q2w3e4r5t6y" 라는 문자열에서 "qwerty"라는 문자열을 찾을 수 있다.
> 2,4,6,8,10,12번째의 q,w,e,r,t,y를 보면 존재한다는 것을 알 수 있다.
예제 입력 2
1ovey0uS2
veS
예제 출력 2
0
코드
/*
contains()
- boolean contains(CharSequence s)
- contains() 함수는 대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수이다.
- 대/소문자를 구분한다.
public class ContainsTest{
public static void main(String[] args){
String str = "my java test";
System.out.println( str.contains("java") ); // true
System.out.println( str.contains(" my") ); // false
System.out.println( str.contains("JAVA") ); // false
System.out.println( str.contains("java test") ); // true
}
}
*/
import java.io.*;
public class p16171 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String pattern = br.readLine();
input = input.replaceAll("[0-9]", "");
int patLen = pattern.length();
boolean flag = false;
for (int i = 0; i <= input.length() - patLen; i++) {
if (input.substring(i, i + patLen).equals(pattern)) {
flag = true;
}
}
System.out.println(flag ? 1 : 0);
}
}
/******** indexOf 사용시
* indexOf(s) 는 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며 만약 찾지 못했을 경우 "-1"을 반환.
*
* lastIndexOf(s)는 반대로 끝에서부터 조회를 한다. (origin의 높은 index 부터)
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine().replaceAll("[0-9]", "");
String strs = br.readLine();
if(str.indexOf(strs) != -1) {
System.out.println(1);
}
else {
System.out.println(0);
}
}
}
*/
'알고리즘 > [ Baekjoon ]' 카테고리의 다른 글
[ BOJ ][JAVA][16400] 소수 화폐 (0) | 2021.05.08 |
---|---|
[ BOJ ][JAVA][16235] 나무 재테크 (0) | 2021.05.08 |
[ BOJ ][JAVA][15787] 기차가 어둠을 헤치고 은하수를 (0) | 2021.05.08 |
[ BOJ ][JAVA][15724] 주지수 (0) | 2021.05.07 |
[ BOJ ][JAVA][15721] 번데기 (0) | 2021.05.07 |