Algorithm

๋ฐฑ์ค€ 11478 ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜ With JAVA

hyunjun's developing ๐Ÿฃ 2024. 1. 16. 14:20

 

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

 

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

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

www.acmicpc.net

 

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
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.io.IOException;
 
public class Main {
 
   public static void main(String[] args) throws IOException {
 
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
      String str = br.readLine();
      Set<String> set = new HashSet<>();
 
      for (int i = 0; i < str.length(); i++) {
         for (int j = i + 1; j <= str.length(); j++) {
            set.add(str.substring(i, j));
         }
      }
 
      System.out.println(set.size());
      
   }
}
cs

 

๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ด๋‹ค. ๋ฒ„ํผ๋ฆฌ๋” ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๊ทธ ๋‹ค์Œ ๊ทธ๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„์˜จ๋‹ค. ๊ทธ ๋‹ค์Œ ํ•ด์‰ฌ์…‹์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. (ํ•ด์‰ฌ์…‹์€ ์ค‘๋ณต์„ ์•Œ์•„์„œ ์ œ๊ฑฐํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํŽธ๋ฆฌํ•˜๋‹ค.) ๊ทธ ๋‹ค์Œ ์ด์ค‘ for๋ฌธ์„ ํ†ตํ•ด set์— ๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ๋ฐ”๊นฅ for๋ฌธ์€ ์ŠคํŠธ๋ง์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ์„ค์ •ํ•ด๋‘๊ณ  ์•ˆ์ชฝ for๋ฌธ์€ j = i + 1; i++๋กœ ์„ค์ •ํ•ด์„œ i๋ถ€ํ„ฐ length๊นŒ์ง€ ์ถ”๊ฐ€๋Œ€๋กœ ํ•ด์‰ฌ์…‹์— ์ถ”๊ฐ€ํ•ด ์ฃผ๋„๋ก ํ•œ๋‹ค์Œ ํ•ด์‰ฌ์…‹์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋์ด๋‹ค