๊ธฐ๋ก๋ฐฉ

BOJ_11478 : ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_11478 : ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜

Soom_1n 2023. 1. 30. 00:03

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

11478๋ฒˆ: ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜

์ฒซ์งธ ์ค„์— ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. S๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ธธ์ด๋Š” 1,000 ์ดํ•˜์ด๋‹ค.

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ์ข…๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ดs๋ฅผ 1๋ถ€ํ„ฐ s์˜ ํฌ๊ธฐ๊นŒ์ง€์˜ ๊ธธ์ด๋กœ ์ž˜๋ผ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๊ตฌํ•œ๋‹ค.
  • ๋ฌธ์ž์—ด์˜ ์ค‘๋ณต์„ ํ”ผํ•ด ์ €์žฅํ•˜๊ณ , ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();

        Set<String> set = new HashSet<>();

        for (int i = 1; i <= s.length(); i++) {
            for (int j = 0; j <= s.length() - i; j++) {
                set.add(s.substring(j, j+i));
            }
        }
        System.out.println(set.size());
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Set์— ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋“ค์„ ์ €์žฅํ•œ๋‹ค.
  •  ๋ฐ”๊นฅ์ชฝ for๋ฌธ์€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด์ด๋‹ค.
    • 1๋ถ€ํ„ฐ s์˜ ๊ธธ์ด๊นŒ์ง€ ๋ณ€๊ฒฝํ•œ๋‹ค.
  • ์•ˆ์ชฝ for๋ฌธ์€ ๋ฌธ์ž์—ดs์—์„œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๊ณ ๋ฅด๊ธฐ ์œ„ํ•œ ์‹œ์ž‘ ์ธ๋ฑ์Šค์ด๋‹ค.
    • 0๋ถ€ํ„ฐ s์˜ ๊ธธ์ด - ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
  • set์˜ ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๋ฌธ์ž์—ด ์ž๋ฅด๋Š” ์•„์ด๋””์–ด๊ฐ€ ๋ฐ”๋กœ ๋– ์˜ฌ๋ž๊ณ , ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ Set ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์“ฐ๋ฉด ๋˜๊ฒ ๋‹ค ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

728x90