일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- RETURN ROW IF NO DATA FOUND
- 배열 복사
- 이클립스 알고리즘 세팅
- 지진
- 백준 1000번 c
- JavaScript
- 자바스크립트
- 백준 1000번 c++
- 백준 알고리즘
- 백준 1000번
- 백준 10951번 c++
- 포항 지진
- 백준 10951번 java
- 이클립스 알고리즘 환경
- 2020 펭수 달력
- 펭수 2020 달력
- 티스토리 초대장
- 백준 10950번 c
- 백준 10951번 c
- oracle
- 백준 10950번 java
- 티스토리 초대장 이벤트
- 백준 10950번
- Eclipse Althrithm
- 백준 1000번 java
- 오라클
- 백준 10951번
- 펭수 달력
- 백준10950번 c++
- nodejs
- Today
- Total
스노우보드 참 좋아하는데 맨날 키보드 앞에만 있네
백준 1543 : 문서검색 본문
백준 1543 : 문서검색
문제 url : https://www.acmicpc.net/problem/1543
문서 검색 성공 풀이
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 1646 | 500 | 384 | 30.141% |
문제
세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만드려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 셀 수는 없다.
세준이는 문서와 검색하려는 단어가 주어졌을 때, 그 단어가 최대 몇 번 중복되지 않게 등장하는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. 문서와 단어는 알파벳 소문자와 공백으로 이루어져 있다.
출력
첫째 줄에 중복되지 않게 최대 몇 번 등장하는지 출력한다.
예제 입력
ababababa aba
예제 출력
2
해설
문자 str과 sub_str 을 입력 받은 후, str 안에 sub_str이 중복 없이 몇 개 들어있는지 출력하는 문제
직관적으로 앞에서부터 일치하는 문자열이 있는지 검사하고, 찾은 후 일치하는 다음번 문자부터 끝까지의 문자열을 추출하여 문자열 검사를 반복해주면 된다.
JAVA의 indexOf() 메서드를 이용하여 str 안에 sub_str이 있는지 앞에서부터 찾을 수 있다.
substring() 메서드를 이용하여 일치하는 이후 문자열을 자르고, 자른 문자열에서 indexOf() 메서드로 다시 문자열 검사를 해주면 된다.
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = s.nextLine(); String sub = s.nextLine(); int result = 0; for(;str.indexOf(sub) > -1; result++) { str = str.substring(str.indexOf(sub) + sub.length(), str.length()); } System.out.println(result); } } |
결과
'개발 > Algorithm' 카테고리의 다른 글
그래프의 탐색 알고리즘 : DFS, BFS (0) | 2018.03.06 |
---|---|
백준 1019 : 책 페이지 (0) | 2018.02.11 |
백준 2858 : 기숙사 바닥 (0) | 2018.02.10 |
백준 11718 : 그대로 출력하기 (0) | 2018.02.10 |
백준 10951 : A+B-4 (테스트케이스 개수가 주어지지 않는 경우) (0) | 2018.02.10 |