ABOUT ME

9911dbfl@naver.com

Today
Yesterday
Total
  • [๋ฐฑ์ค€/JAVA] 18312๋ฒˆ : ์‹œ๊ฐ
    Algorithm/Java 2024. 10. 26. 13:52
    ๋ฐ˜์‘ํ˜•

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

     

    ๐Ÿ“Œ ๋ฌธ์ œ ์š”์•ฝ 

    ์ •์ˆ˜ N๊ณผ K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 00์‹œ 00๋ถ„ 00์ดˆ๋ถ€ํ„ฐ N์‹œ 59๋ถ„ 59์ดˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์‹œ๊ฐ ์ค‘ K๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ์‹œ๊ฐ์˜ ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ์€ ๋””์ง€ํ„ธ ์‹œ๊ณ„ ํ˜•์‹์œผ๋กœ ์ดˆ ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.



    [ ์˜ค๋‹ต ๋…ธํŠธ ]


    โŒ ๊ธฐ์กด ์˜ค๋‹ต ์ฝ”๋“œ

    import java.io.*;
    import java.util.*;
    
    public class Main {
        public static void main(String[] args) throws IOException{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st = new StringTokenizer(br.readLine());
            int N = Integer.parseInt(st.nextToken()); // 5
            String K = st.nextToken(); // 3
            // 5์‹œ 59๋ถ„ 59์ดˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์‹œ๊ฐ ์ค‘ 3์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ์‹œ๊ฐ ์„ธ๊ธฐ
            // [00, 00, 00] ํ˜•ํƒœ๋กœ
            // 00 01 02 03 04 05 06 07 08 09 10
            // 11 12 13 14 15 16 17 18 19 20
    
    
            int count = 0;
            for(int h = 0; h <= N; h++) { // ์‹œ
                for(int m = 0; m <= 59; m++) { // ๋ถ„
                    for(int s = 0; s <= 59; s++) { // ์ดˆ
                        if(String.valueOf(s).contains(K) ||
                           String.valueOf(m).contains(K) ||
                           String.valueOf(h).contains(K)) {
                            count++;
                        }
                    }
                }
            }
    
            System.out.println(count);
    
        }
    }


    ๐Ÿ“Œ ๊ธฐ์กด ์ฝ”๋“œ์˜ ๋ฌธ์ œ์ 

     

    1. ํฌ๋งท์˜ ์ผ๊ด€์„ฑ ๋ฌธ์ œ:

    • ๊ธฐ์กด ์ฝ”๋“œ์—์„œ๋Š” ์‹œ, ๋ถ„, ์ดˆ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ String.valueOf()๋กœ ๋ณ€ํ™˜ํ•ด contains(K)๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด ๋ฐฉ์‹์€ ๋Œ€๋ถ€๋ถ„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•˜์ง€๋งŒ, ํŠน์ • ์ผ€์ด์Šค์—์„œ ์‹œ, ๋ถ„, ์ดˆ๊ฐ€ ๋”ฐ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์ฒดํฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋””์ง€ํ„ธ ์‹œ๊ณ„ ํ˜•์‹(HHMMSS)๊ณผ ์ผ๊ด€์„ฑ์ด ๋งž์ง€ ์•Š์•„ ์˜ค์ž‘๋™ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

     

     




    [ ์ •๋‹ต ์ฝ”๋“œ & ์˜ฌ๋ฐ”๋ฅธ ํ’€์ด ]


    ๐Ÿ“Œ ์˜ฌ๋ฐ”๋ฅธ ํ’€์ด

     

    1. ํฌ๋งท์˜ ์ผ๊ด€์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ

     

    • ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ์€ HHMMSS ํ˜•์‹์˜ ๋””์ง€ํ„ธ ์‹œ๊ณ„ ์ „์ฒด์—์„œ K๊ฐ€ ํฌํ•จ๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.  String.format("%02d%02d%02d", hour, minute, second)์„ ์‚ฌ์šฉํ•ด ์‹œ, ๋ถ„, ์ดˆ๋ฅผ HHMMSS ํ˜•์‹์œผ๋กœ ํ†ต์ผํ•œ ํ›„ indexOf๋กœ K๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ๋ฌธ์ž์—ด์—์„œ ํ•œ ๋ฒˆ์— K๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.



    ๐Ÿ“Œ ์ •๋‹ต ์ฝ”๋“œ

    import java.io.*;
    import java.util.*;
    
    public class Main {
        public static void main(String[] args) throws IOException{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st = new StringTokenizer(br.readLine());
            int N = Integer.parseInt(st.nextToken()); // 5
            String K = st.nextToken(); // 3
            // 5์‹œ 59๋ถ„ 59์ดˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์‹œ๊ฐ ์ค‘ 3์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ์‹œ๊ฐ ์„ธ๊ธฐ
            // [00, 00, 00] ํ˜•ํƒœ๋กœ
            // 00 01 02 03 04 05 06 07 08 09 10
            // 11 12 13 14 15 16 17 18 19 20
    
    
            int count = 0;
            for(int h = 0; h <= N; h++) { // ์‹œ
                for(int m = 0; m <= 59; m++) { // ๋ถ„
                    for(int s = 0; s <= 59; s++) { // ์ดˆ
                       // ํ˜„์žฌ ์‹œ๊ฐ์„ HHMMSS ํ˜•์‹์œผ๋กœ ํฌ๋งท
                        String time = String.format("%02d%02d%02d", h, m, s);
    
                        if(time.contains(K)) {
                            count++;
                        }
                    }
                }
            }
    
    
            System.out.println(count);
    
        }
    }
    ๋ฐ˜์‘ํ˜•
Designed by Tistory.