[Java] 백준 1543번 (문서 검색) 자바 문제 풀이

2024. 4. 8. 22:03·BOJ, Programmers

https://www.acmicpc.net/problem/1543

 

1543번: 문서 검색

세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한

www.acmicpc.net

알고리즘 분류

  • 문자열
  • 브루트포스 알고리즘

 

풀이

문자열 (String) 의 함수를 이용해 풀었다.

String의 함수 중 

contains() : 매개변수가 문자열 중에 포함되어 있으면 true,

substring(): 문자열을 자르는 함수

indexOf(): 매개변수로 들어온 문자열이 문자열안에 몇번째에 있는지,

 

이 세 함수를 이용해서 풀었다.

핵심로직은 다음과 같다.

while( document.contains(word) ){ // document 문자열안에 word가 포함되어 있을 때 까지 loop
      // word가 끝나는 위치부터 document의 길이까지 잘라, 다시 document에 저장한다.
      document = document.substring(document.indexOf(word) + word.length(), document.length() ); 
      
      
      cnt++; // 문자가 존재해서 잘랐으니 count 증가
}

 

 

아래는 전체 정답 코드이다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String document = br.readLine();
        String word = br.readLine();
        
        int cnt = 0;
        while( document.contains(word) ){
            document = document.substring(document.indexOf(word) + word.length(), document.length() );
            cnt++;
        }

        System.out.println(cnt);

    }
}

'BOJ, Programmers' 카테고리의 다른 글

[Java] 백준 2075 (N번째 큰 수) 자바 문제 풀이  (1) 2024.04.15
[Java] 백준 1312 번 (소수) 문제 풀이  (0) 2024.04.10
[Java] 백준 1448 번 (삼각형 만들기)  (0) 2024.04.08
[Java] 백준 2725번 (보이는 점의 개수)  (2) 2024.04.06
[Java] 백준 1449번 (수리공 항승)  (0) 2024.04.06
'BOJ, Programmers' 카테고리의 다른 글
  • [Java] 백준 2075 (N번째 큰 수) 자바 문제 풀이
  • [Java] 백준 1312 번 (소수) 문제 풀이
  • [Java] 백준 1448 번 (삼각형 만들기)
  • [Java] 백준 2725번 (보이는 점의 개수)
Economy98
Economy98
공부하고 기록하기
  • Economy98
    Economy_Dev
    Economy98
  • 전체
    오늘
    어제
    • 분류 전체보기 (74)
      • Spring Framework (11)
      • BOJ, Programmers (22)
      • Java (4)
      • JDBC (6)
      • JPA (9)
      • Spring Transaction (3)
      • Algorithm (1)
      • Web (5)
      • Projects (2)
        • 쇼핑몰 프로젝트 (0)
        • 열람실 & 도서관 프로젝트 (2)
      • Network (2)
      • 나의 공부방 (5)
      • 끄적끄적 (1)
      • Error Log (3)
      • CS (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • Github
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    propagation
    자바 문제
    java
    백준 풀이
    그리디 알고리즘
    restful api
    백준
    다이나믹 프로그래밍
    Spring
    자바
    자바 문제 풀이
    JPA
    jdbc
    정렬
    백준 자바 풀이
    트랜잭션
    스프링
    브루트포스 알고리즘
    예외 처리
    스프링부트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Economy98
[Java] 백준 1543번 (문서 검색) 자바 문제 풀이
상단으로

티스토리툴바