๊ธฐ๋ก๋ฐฉ

BOJ_1339 : ๋‹จ์–ด ์ˆ˜ํ•™ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_1339 : ๋‹จ์–ด ์ˆ˜ํ•™

Soom_1n 2024. 5. 6. 18:14

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



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

  • N๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ๊ฐ ์•ŒํŒŒ๋ฒณ์€ 0~9 ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์•ŒํŒŒ๋ฒณ์€ ์ตœ๋Œ€ 10์ข…๋ฅ˜๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ์•ŒํŒŒ๋ฒณ์˜ ์ˆซ์ž๋Š” ๊ฒน์น˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
  • N๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ–ˆ์„ ๋•Œ ์ดํ•ฉ์˜ ์ตœ๋Œ€๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ๊ฐ ์•ŒํŒŒ๋ฒณ์ด ์–ด๋–ค ์ˆซ์ž์™€ ๋งค์นญ ๋˜์–ด์•ผ ์ตœ๋Œ€๊ฐ’์ด ๋˜๋Š”์ง€ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค.
  • Brute Force๋กœ ์ „๋ถ€ ๋„ฃ์–ด๋ด๋„ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ข€๋” ํšจ์œจ์ ์œผ๋กœ ์ฐพ๊ณ ์ž ๊ฐ ์•ŒํŒŒ๋ฒณ ๋ณ„ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ๊ฐ€์ค‘์น˜ ์ˆœ์„œ๋Œ€๋กœ 9๋ถ€ํ„ฐ 0๊นŒ์ง€ ๋ถ€์—ฌํ•œ ํ›„ ๊ฐ’์„ ๊ณ„์‚ฐํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

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

import java.io.*;
import java.util.Arrays;

public class Main {

    public static void main(String[] args) throws IOException {
        // Input
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());
        int[] alpha_input = new int[26]; // ์ž…๋ ฅ ๋œ ์•ŒํŒŒ๋ฒณ ๋ณ„ ๊ฐ€์ค‘์น˜

        for (int i = 0; i < N; i++) {
            String temp = br.readLine();
            char[] chars = temp.toCharArray();

            // ๊ฐ€์ค‘์น˜ ์ €์žฅ
            int len = (int) Math.pow(10, temp.length() - 1);
            for (char c : chars) {
                alpha_input[c - 'A'] += len;
                len /= 10;
            }
        }

        // Sort
        Arrays.sort(alpha_input);

        // Output
        int sum = 0;
        int num = 9;
        for (int i = 25; i >= 15; i--) {
            sum += alpha_input[i] * num--;
        }
        bw.write(Integer.toString(sum));
        bw.flush();
    }
}

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

  • ์ž…๋ ฅ๋œ ๋ฌธ์ž์˜ ์ž๋ฆฟ์ˆ˜ ๊ฐ€์ค‘์น˜๋ฅผ alpha_input[] ๋ฐฐ์—ด์— ๋ˆ„์ ํ•œ๋‹ค.
  • ๊ฐ€์ค‘์น˜ ์ˆœ์„œ๋Œ€๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • ๋’ค์—์„œ๋ถ€ํ„ฐ ํฐ ๊ฐ€์ค‘์น˜ ์ˆœ์œผ๋กœ 9๋ถ€ํ„ฐ 0๊นŒ์ง€ ๋ถ€์—ฌํ•˜๋ฉฐ ๊ฐ’์„ ๋ˆ„์ ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • Brute Force ๋กœ ์ฐพ๋Š” ๋ฒ•์€ ๋ฐ”๋กœ ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ ์ž ํ–ˆ๋‹ค.
    • ๊ฐ€์ค‘์น˜๋ฅผ ์ €์žฅ์€ ํ–ˆ์ง€๋งŒ, ๊ฐ’์„ ๊ณ„์‚ฐํ•  ๋•Œ ๋ฌธ์ž์˜ ๊ธธ์ด ์ˆœ์œผ๋กœ ์ˆซ์ž๋ฅผ ๋ถ€์—ฌํ•ด์„œ ํ‹€๋ ธ๋‹ค.
    • ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ 1์”ฉ, ๊ฐ™์€ ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฌ๋Ÿฌ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€ํ‘œ์ ์ธ ๋ฐ˜๋ก€์˜€๋‹ค.
  • ๊ฒฐ๊ตญ ๊ธธ์ด๋กœ ์ˆซ์ž๋ฅผ ๋ถ€์—ฌํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๊ฐ€์ค‘์น˜ ๋ณ„๋กœ ์ˆซ์ž๋ฅผ ๋ถ€์—ฌํ–ˆ๋‹ค.
    • ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ์ง€์šฐ๊ธฐ๋งŒ ํ•ด์„œ ์ •๋‹ต์„ ๋งž์ถœ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    • ๋„ˆ๋ฌด ์–ด๋ ต๊ฒŒ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
728x90