경험의 기록

문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14P0c6AAUCFAYi 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

풀이

// [SWEA] 1213. String (Java)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {	
	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		for(int test =0; test<10; test++) {
			int t = Integer.parseInt(br.readLine()); // 테스트 케이스 번호
			String des = br.readLine(); // 찾을 문자열
			String str = br.readLine(); // 검색할 문장
			int sum = 0; // 찾을 문자열 합
			
			for(int i = 0; i <= str.length()-des.length(); i++) {
				if(des.equals(str.substring(i, i + des.length()))) {
					sum++;
				}
			}
			
			System.out.println("#" + t + " " +sum);
		}	
		br.close();
	}
}

 

문자열이 형성되기 위해서는 문자열 길이만큼의 문자가 있어야하므로

0번째 인덱스 문자부터 전체문자열에서 문자열 길이를 뺀 값만큼의 문자에 대해

각각 substring 으로 문자열 길이만큼 잘라서 그 문자열이 찾는 문자열인지 탐색해준다.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading