๊ธฐ๋ก๋ฐฉ

BOJ_9339 : ๋งˆ๋ผํ† ๋„ˆ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_9339 : ๋งˆ๋ผํ† ๋„ˆ

Soom_1n 2022. 11. 19. 20:03

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

 

9339๋ฒˆ: ๋งˆ๋ผํ† ๋„ˆ

์ƒ๊ทผ์ด๋Š” ๋งˆ๋ผํ†ค ํ•™์›์„ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค. ํ•™์›์˜ ์ˆ˜๊ฐ•์ƒ์€ ์ด K๋ช…์œผ๋กœ, ๋‹ค๊ฐ€์˜ค๋Š” ๋งˆ๋ผํ†ค ๋Œ€ํšŒ์— ์ฐธ๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ์Šต์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๋งˆ๋ผํ†ค ๋Œ€ํšŒ๊ฐ€ ๋๋‚˜๊ณ , ๊ธฐ๋ก์ด 6์‹œ๊ฐ„ ์ดํ•˜์ธ ๊ฒฝ์šฐ๋Š” ๋งˆ๋ผํ†ค ์™„์ฃผ

www.acmicpc.net



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

  • ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ๋งˆ๋‹ค ๋งˆ๋ผํ†ค ๊ธฐ๋ก์—์„œ ํ•™์› ์ˆ˜๊ฐ•์ƒ์ด 6์‹œ๊ฐ„ ์ดํ•˜ ๊ธฐ๋ก์ด ๋‚˜์˜จ ์ˆ˜์™€ ๊ทธ ์ค‘ ์ตœ๊ณ  ๋น ๋ฅธ ์ˆ˜๊ฐ•์ƒ์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • ํ•™์› ์ˆ˜๊ฐ•์ƒ์ธ์ง€ ํ™•์ธํ•˜๊ณ , 6์‹œ๊ฐ„ ์ดํ•˜ ๊ธฐ๋ก์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
    • ํ•ด๋‹นํ•˜๋Š” ํ•™์ƒ๋“ค์˜ ์ˆ˜๋ฅผ ์„ผ๋‹ค.
    • ๊ฐ€์žฅ ๊ธฐ๋ก์ด ์ข‹์€ ํ•™์ƒ์„ ์ €์žฅํ•œ๋‹ค.

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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

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

        int t = Integer.parseInt(br.readLine()); // ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค
        for (int i = 0; i < t; i++) {
            int k = Integer.parseInt(br.readLine()); // ์ˆ˜๊ฐ•์ƒ์˜ ์ˆ˜
            int[] student = new int[k];              // ์ˆ˜๊ฐ•์ƒ ์ €์žฅ ๋ฐฐ์—ด

            StringTokenizer st = new StringTokenizer(br.readLine());
            for (int j = 0; j < k; j++) {            // ์ˆ˜๊ฐ•์ƒ ์ž…๋ ฅ
                student[j] = Integer.parseInt(st.nextToken());
            }

            int one = 0, h = 24, m = 60, count = 0;    // 1๋“ฑ ์ˆ˜๊ฐ•์ƒ๊ณผ ๊ทธ ๊ธฐ๋ก, ์ธ์ฆ์„œ ๋ฐ›์€ ์ˆ˜

            int n = Integer.parseInt(br.readLine());
            for (int j = 0; j < n; j++) {            // ๋Œ€ํšŒ ๊ธฐ๋ก
                st = new StringTokenizer(br.readLine());
                int runner = Integer.parseInt(st.nextToken());
                int hour = Integer.parseInt(st.nextToken());
                int minute = Integer.parseInt(st.nextToken());

                boolean flag = false;
                for (int s = 0; s < k; s++){    // ์ˆ˜๊ฐ•์ƒ์ธ์ง€ ๋ฐฐ์—ด์—์„œ ์ฐพ์•„๋ณด๊ธฐ
                    if (student[s] == runner){
                        flag = true;
                        break;
                    }
                }
                // ์ˆ˜๊ฐ•์ƒ์ด๋ฉด์„œ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  6์‹œ๊ฐ„ ์ดํ•˜
                if (flag && hour != -1 && ((hour == 6 && minute == 0) || hour < 6)) {
                    count++;
                    if (h > hour) {                         // ์‹œ๊ฐ€ ๋” ๋น ๋ฆ„
                        one = runner;
                        h = hour;
                        m = minute;
                    } else if (h == hour && m > minute) {   // ๋ถ„์ด ๋” ๋น ๋ฆ„
                        one = runner;
                        m = minute;
                    }
                }
            }
            System.out.println(one + " " + count);
        }
    }
}

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

  • ํ•™์› ์ˆ˜๊ฐ•์ƒ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ €์žฅํ•ด๋‘๊ณ , ๋งˆ๋ผํ†ค ๊ธฐ๋ก๋งˆ๋‹ค for๋ฌธ์„ ๋Œ๋ฆฌ๋ฉฐ ํ•™์› ์ˆ˜๊ฐ•์ƒ์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
  • 6์‹œ๊ฐ„ ์ดํ•˜ ๊ธฐ๋ก์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
    • ๊ธฐ๋ก์˜ ์‹œ๊ฐ„์ด 6๋ฏธ๋งŒ์ด๊ฑฐ๋‚˜ ์‹œ๊ฐ„์ด 6์ด๋ฉด์„œ ๋ถ„์ด 0์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
    • ์‹œ๊ฐ„์ด -1์ด๋ฉด ์ค‘๋„ ํฌ๊ธฐ์ด๋ฏ€๋กœ, -1๊ฐ€ ์•„๋‹Œ์ง€ ํ™•์ธํ•œ๋‹ค.
    • ํ†ต๊ณผํ•œ ํ•™์ƒ ์ˆ˜๋ฅผ ์„ธ๊ณ , ์ตœ๊ณ  ๊ธฐ๋ก์˜ ํ•™์ƒ๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • 6์‹œ๊ฐ„ ์ดํ•˜๊ฐ€ ์‹œ๊ฐ€ 6์ด๊ณ  ๋ถ„์ด 0์ผ๋•Œ๋„ ์žˆ๋‹ค๋Š”๊ฑธ ๊ฐ„๊ณผํ•ด์„œ 1ํšŒ ํ‹€๋ ธ๋‹ค.
  • ํ…Œ์ŠคํŠธ์ผ€์ด์Šค 2๋ฒˆ์—์„œ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ์•ˆ์ผํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

728x90