ALGORITHM ๐Ÿค–/Baekjoon

๋ฐฑ์ค€ - 1543

daxx0ne 2023. 5. 11. 11:27

[Silver IV] ๋ฌธ์„œ ๊ฒ€์ƒ‰ - 1543

๋ฌธ์ œ ๋งํฌ

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 17712 KB, ์‹œ๊ฐ„: 236 ms

๋ถ„๋ฅ˜

๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฌธ์ž์—ด

๋ฌธ์ œ ์„ค๋ช…

์„ธ์ค€์ด๋Š” ์˜์–ด๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์–ด๋–ค ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์„ธ๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์„ธ์ค€์ด์˜ ํ•จ์ˆ˜๋Š” ์ค‘๋ณต๋˜์–ด ์„ธ๋Š” ๊ฒƒ์€ ๋นผ๊ณ  ์„ธ์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌธ์„œ๊ฐ€ abababa์ด๊ณ , ๊ทธ๋ฆฌ๊ณ  ์ฐพ์œผ๋ ค๋Š” ๋‹จ์–ด๊ฐ€ ababa๋ผ๋ฉด, ์„ธ์ค€์ด์˜ ์ด ํ•จ์ˆ˜๋Š” ์ด ๋‹จ์–ด๋ฅผ 0๋ฒˆ๋ถ€ํ„ฐ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ , 2๋ฒˆ๋ถ€ํ„ฐ๋„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์…€ ์ˆ˜๋Š” ์—†๋‹ค.

์„ธ์ค€์ด๋Š” ๋ฌธ์„œ์™€ ๊ฒ€์ƒ‰ํ•˜๋ ค๋Š” ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ๋‹จ์–ด๊ฐ€ ์ตœ๋Œ€ ๋ช‡ ๋ฒˆ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ๋“ฑ์žฅํ•˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฌธ์„œ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์„œ์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 2500์ด๋‹ค. ๋‘˜์งธ ์ค„์— ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹ถ์€ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ธธ์ด๋Š” ์ตœ๋Œ€ 50์ด๋‹ค. ๋ฌธ์„œ์™€ ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์™€ ๊ณต๋ฐฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์ตœ๋Œ€ ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String document = sc.nextLine();
        String search = sc.nextLine();
        int count = 0; // ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹ถ์€ ๋‹จ์–ด๊ฐ€ ๋“ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํšŸ์ˆ˜
        for (int i = 0; i < document.length() - search.length() + 1; i++) {
            if (document.startsWith(search, i)) { // i ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹ถ์€ ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ
                count++;
                i += search.length() - 1; // i ์ธ๋ฑ์Šค์™€ ๊ฒ€์ƒ‰ํ•  ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ๋”ํ•ด์ค€ ๋‹ค์Œ ๊ทธ ์œ„์น˜์—์„œ ๋ถ€ํ„ฐ ๋‹ค์‹œ ๊ฒ€์‚ฌ
            }
        }
        System.out.println(count);
    }
}