๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๋ฐฑ์ค€

[๋ฐฑ์ค€/Java] 1316 ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค

by ๋ฝ€์งœ๊ผฌ 2025. 1. 23.
728x90
๋ฐ˜์‘ํ˜•

1316 ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค
(์ž๋ฐ”8 68ms, ์ž๋ฐ”11 108ms)


๋ฐฑ์ค€๋ฌธ์ œ

 

๋ฌธ์ œ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์—ˆ๋‹ค.

๋Œ€์ฒด ๋‹จ์–ด N๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๊ฑฐ๋ž‘ ๋ญ”์ƒ๊ด€์ด์ง€?

๋จธ๋ฆฌ๋งŒ๋ฒ…๋ฒ…
๋จธ๋ฆฌ๋งŒ ๋ฒ…๋ฒ…


โœ๏ธ ๋ฌธ์ œ ํ•ด์„ค

N๊ฐœ์˜ ์ž…๋ ฅ๋ฐ›์€ ๋‹จ์–ด์ค‘์—์„œ,

“๊ทธ๋ฃน๋‹จ์–ด”๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค.


๐Ÿ’ก ๊ทธ๋ฃน๋‹จ์–ด๋ž€?

๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค.

abc ⇒ a,b,c๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋ฏ€๋กœ ๊ทธ๋ฃน๋‹จ์–ด.

aba ⇒ a,b๊ฐ€ ๋‚˜์˜จ ๋‹ค์Œ ๋˜ a๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฏ€๋กœ ๊ทธ๋ฃน๋‹จ์–ด ์•„๋‹˜.

aab ⇒ aa,b ์ฆ‰, a,b๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋ฏ€๋กœ ๊ทธ๋ฃน๋‹จ์–ด.

happy ⇒ h,a,p,y๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋ฏ€๋กœ ๊ทธ๋ฃน๋‹จ์–ด.

์ฆ‰ ์œ„์—์„œ ๊ทธ๋ฃน๋‹จ์–ด๋Š” 3๊ฐœ์ด๋‹ค.


โœ๏ธ ๋ฌธ์ œ ํ’€์ด

๐Ÿ’ญ ๋‚˜์˜ ์ƒ๊ฐ:

๊ธฐ์ค€ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜ ์žก๊ณ , ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ

๊ธฐ์กด๋ฌธ์ž์™€ ๋™์ผํ•œ ๋ฌธ์ž๊ฐ€ ๋ฐ”๋กœ ์˜†์ด ์•„๋‹ˆ๋ผ ๋œฌ๊ธˆ์—†๋Š” ์ธ๋ฑ์Šค์— ์กด์žฌํ•œ๋‹ค๋ฉด

๊ทธ๊ฑด ๊ทธ๋ฃน๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•˜์˜€๋‹ค.

๋ฌธ์ž aba๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด์ž๋ฉด,

aba

๋ฌธ์ž aba์—์„œ์˜ ๊ธฐ์ค€ ๋ฌธ์ž๋ฅผ a๋กœ ์žก์ž. ์ธ๋ฑ์Šค๋Š” [0]์ด๋‹ค.
๊ทธ๋ฃน๋‹จ์–ด๋ผ๋ฉด aaaab์ฒ˜๋Ÿผ a ๋ฐ”๋กœ ์˜†์— a๊ฐ€ ๋“ฑ์žฅํ• ๊ฒƒ์ด๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ์ธ๋ฑ์Šค๊ฐ€ ๋ฐ”๋กœ ์˜†์ด๊ฒ ์ง€.

๊ทธ๋Ÿฌ๋‚˜ ๋œฌ๊ธˆ์—†์ด ๋ช‡์นธ์„ ๊ฑด๋„ˆ๋›ด [2]๋ผ๋Š” ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง„๋‹ค๋ฉด?
๊ทธ๊ฑด ์œ„์น˜๊ฐ€ ์˜†์ด ์•„๋‹ˆ๋ผ๋Š”๋œป!
⇒ ์ฆ‰ ๊ทธ๋ฃน๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค!

๐Ÿ’ญ ๊ทธ๋ ‡๋‹ค๋ฉด ๋‚˜๋Š” ์ด๊ฑธ ์ฝ”๋“œ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋‚˜ :

1. ๊ธฐ์ค€ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜๋กœ ๊ณ ์ •ํ•˜์ง€ ๋ง๊ณ  ์ˆœํšŒํ•˜๋ฉฐ ์ •ํ•ด์•ผํ•œ๋‹ค.

char ch = input.charAt(j)

 

2. ๊ธฐ์ค€ ๋ฌธ์ž๋ฅผ ์žก๊ณ  ๊ธฐ์ค€๋ฌธ์ž ๋’ค๋ถ€ํ„ฐ ์ˆœํšŒํ•˜๋ฉฐ ๋น„๊ตํ•œ๋‹ค.

String newInput = input.substring(j+1, input.length());

 

3. ๊ธฐ์ค€ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ ๋ฌธ์ž์—ด์—์„œ indexOf๋ฅผ ์‚ฌ์šฉํ•ด์„œ index๊ฐ€ 0๋ณด๋‹ค ํฌ๋‹ค๋ฉด,

๊ทธ๋ฃน๋ฌธ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ํ™•์ธํ•œ๋‹ค. (์‹œ๊ฐ„ ๋‹จ์ถ•)

if (newInput.indexOf(ch) > 0) { //๊ทธ๋ฃน์ด ์•„๋‹Œ์ง€ ํ™•์ธ
                    isGroup = false;
                    continue outer;
                }

 

๊ทธ๋ฃน ๋ฌธ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ํ•œ๋ฒˆ ํŒ๋ณ„์ด ๋‚˜๋ฉด, ๋’ค์˜ ๋ฌธ์ž๋Š” ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ

์‹œ๊ฐ„ ๋‹จ์ถ•์„ ์œ„ํ•ด ๋ฐ–์˜ for๋ฌธ์œผ๋กœ ๋น ์ ธ๋‚˜๊ฐ€๋„๋ก outer๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค. (์‹ค๋ฌด์—์„œ๋Š” ์ž˜ ์•ˆ์“ด๋‹ค๊ณ  ํ•˜์ง€๋งŒ, )

 

4. ๊ทธ๋ฃน๋ฌธ์ž๋ผ๋ฉด count๋ฅผ ์˜ฌ๋ฆฐ๋‹ค.

 if (isGroup) {count++;}

๊ทธ๋ฆผ์ถ”๊ฐ€์„ค๋ช…

โœ๏ธ ๊ทธ๋ฆฌํ•˜์—ฌ ์ตœ์ข… ์ฝ”๋“œ

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        int count = 0;
        outer:
        for (int i = 0; i < N; i++) {
            String input = br.readLine();
            boolean isGroup = true;

            // ๋ฌธ์ž์—ด๋งŒํผ ๋ฐ˜๋ณต
            for (int j = 0; j < input.length(); j++) {
                char ch = input.charAt(j);
                String newInput = input.substring(j+1, input.length());

                if (newInput.indexOf(ch) > 0) { //๊ทธ๋ฃน์ด ์•„๋‹Œ์ง€ ํ™•์ธ
                    isGroup = false;
                    continue outer;
                }
            }

            if (isGroup) {
                count++;
            }
        }
        System.out.println(count);
    }
}
728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ’ป ์ฝ”๋”ฉํ…Œ์ŠคํŠธ > ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/Java] 2941 ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ / 25206 ๋„ˆ์˜ ํ‰์ ์€ย (๋ฐฑ์ค€ ๋‹จ๊ณ„๋ณ„๋กœ ํ’€๊ธฐ 6๋‹จ๊ณ„ ์‹ฌํ™”1)  (2) 2025.01.23
[๋ฐฑ์ค€/Java] 1157 ๋‹จ์–ด๊ณต๋ถ€ (๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ ์ถœ๋ ฅํ•˜๊ธฐ)  (1) 2025.01.23
[๋ฐฑ์ค€/Java] 2444 ๋ณ„ ์ฐ๊ธฐ -7 / ๋ณ„์ฐ๊ธฐ ์‹ฌํ™” ํ’€์ด๊ณผ์ •  (2) 2025.01.22
[๋ฐฑ์ค€/Java] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ ์‹ฌํ™” 1 ๋ชจ์Œ(1) - (25083 ์ƒˆ์‹น/ 3003 ํ‚น, ํ€ธ, ๋ฃฉ, ๋น„์ˆ, ๋‚˜์ดํŠธ, ํฐ / 10988 ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ)  (0) 2025.01.22
[๋ฐฑ์ค€/Java] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ 5๋‹จ๊ณ„ ๋ฌธ์ž์—ด (27866 ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด, 2743 ๋‹จ์–ด ๊ธธ์ด ์žฌ๊ธฐ, 9086 ๋ฌธ์ž์—ด, 11654 ์•„์Šคํ‚ค ์ฝ”๋“œ, 11720 ์ˆซ์ž์˜ ํ•ฉ, 10809 ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ, 2675 ๋ฌธ์ž์—ด ๋ฐ˜๋ณต, 1152 ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜, 2908 ์ƒ์ˆ˜, 5622 ๋‹ค์ด์–ผ, 11718 ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ)  (2) 2025.01.21