Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 | 
                            Tags
                            
                        
                          
                          - 코딩테스트
- 코딩
- Java
- 스프링
- kotlin
- ES
- 알고리즘
- 그리디
- 읽기쉬운코드
- framework
- Elasticsearch
- 코드
- 프레임워크
- spring boot
- JPA
- Spring
- Baekjoon
- 애자일기법
- 클린코드
- 개발
- 엘라스틱서치
- 개발자
- 그리디알고리즘
- cleancode
- 데이터베이스
- 백준
- API
- 애자일프로그래밍
- database
- 자바
                            Archives
                            
                        
                          
                          - Today
- Total
튼튼발자 개발 성장기🏋️
[1543번] 문서검색 본문
반응형
    
    
    
  문제 기출 : [https://www.acmicpc.net/problem/1543]

풀이 방법
| [그리디알고리즘] 접근 
 내가 문제를 잘못 이해 했는지 두 시간 가량을 잘못된 방향으로 풀이되어서 상당히 시간낭비하였다. 문제를 읽어보면 "찾는 단어가 최대 몇 번 중복되지 않게 등장하는지?"이다. 주어진 조건 "몇 번부터든지 시작 index는 모두 가능"을 생각하여 나는 코드를 작성하였지만 전부 다 실패... 아무리 문제를 되새김질해도 난 모르겠다... 그래서 다른 블로그를 참고하였더니 문제 이해를 도와주었다...ㅠㅠ 
 주어진 문자열에서 찾을 문자열을 찾되, 중복되지 않게 등장하는 최대값을 구해야한다. 즉 주어진 문자열에서 찾을 문자열을 찾고 찾은 문자열을 빼버리면서 카운트 하면 되는 아주 간단한 문제였다.. 
 나의 두 시간을 돌리도...ㅠㅠ | 
문제 풀이
public class Main {
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int answer = 0;
		try {
			String inputString = br.readLine();
			String searchString = br.readLine();
			while(inputString.indexOf(searchString) > -1) {
				inputString = inputString.substring(inputString.indexOf(searchString) + searchString.length(), inputString.length());
				answer++;
			}
			
			System.out.println(answer);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
반응형
    
    
    
  'Business logic > 백준' 카테고리의 다른 글
| [2875번] 대회 or 인턴 (0) | 2020.04.23 | 
|---|---|
| [1343번] 폴리오미노 (0) | 2020.04.22 | 
| [2437번] 저울 (1) | 2020.04.19 | 
| [2529번] 부등호 (0) | 2020.04.16 | 
| [2352번] 반도체 설계 (0) | 2020.04.15 | 

 
                   
                   
                  