๋ฐฐ๋„ˆ ์ด๋ฏธ์ง€

๋ฐฑ์ค€ 10800๋ฒˆ: ์ปฌ๋Ÿฌ๋ณผ (Java)

2025. 6. 4. 23:50ยท์•Œ๊ณ ๋ฆฌ์ฆ˜

๐ŸŽฏ ๋ฌธ์ œ ๋ชฉํ‘œ

  • ๊ฐ ๊ณต์€ ์ƒ‰๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค.
  • ๋ชจ๋“  ๊ณต ์Œ์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ‰์ด๋ฉด์„œ ์ž‘์€ ๊ณต์˜ ํฌ๊ธฐ๋งŒํผ ์ ์ˆ˜๋ฅผ ํš๋“ํ•œ๋‹ค.
  • ๊ฐ ๊ณต์ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด ์ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โœ… ํ’€์ด ์ „๋žต ์š”์•ฝ

  1. Ball ๊ฐ์ฒด ์ •์˜
    โ†’ color, size, index๋ฅผ ์ €์žฅํ•˜๋Š” ํด๋ž˜์Šค ์ƒ์„ฑ

  2. ์ •๋ ฌ ๊ธฐ๋ฐ˜ ๋ˆ„์ ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    โ†’ ๊ณต์„ ํฌ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๊ฐ™์€ ํฌ๊ธฐ๊นŒ์ง€๋Š” ์ ์ˆ˜ ๊ณ„์‚ฐ์„ ๋ฏธ๋ค„๋‘”๋‹ค
    โ†’ ๋ˆ„์ ํ•ฉ์„ ํ™œ์šฉํ•ด ์ดํ•ฉ๊ณผ ์ƒ‰์ƒ๋ณ„ ํ•ฉ์„ ๋ฏธ๋ฆฌ ๊ด€๋ฆฌํ•œ๋‹ค

  3. ํˆฌ ํฌ์ธํ„ฐ
    โ†’ ํ˜„์žฌ ๊ณต๋ณด๋‹ค ์ž‘์€ ๊ณต๋“ค์„ ์ „๋ถ€ ํฌํ•จ์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ ์ˆ˜ ๋ˆ„์ 

  4. ์ƒ‰์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์ œ์™ธ
    โ†’ ๊ฐ™์€ ์ƒ‰์˜ ํ•ฉ์€ ์ œ์™ธํ•˜์—ฌ ์ ์ˆ˜ ๊ณ„์‚ฐ


๐Ÿ’ก ํ•ต์‹ฌ ๊ฐœ๋…

๋ณ€์ˆ˜ ์˜๋ฏธ
total ์ง€๊ธˆ๊นŒ์ง€ ๋ณธ ๊ณต ์ค‘ ํฌ๊ธฐ๊ฐ€ ํ˜„์žฌ ๊ณต๋ณด๋‹ค ์ž‘์€ ๊ณต๋“ค์˜ ์ „์ฒด ํฌ๊ธฐ ํ•ฉ
colorSum[color] ํŠน์ • ์ƒ‰์ƒ ๊ณต์˜ ๋ˆ„์  ํฌ๊ธฐ ํ•ฉ
result[i] i๋ฒˆ ๊ณต์ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜ (์กฐ๊ฑด ๋งŒ์กฑํ•˜๋Š” ๋‹ค๋ฅธ ๊ณต๋“ค์˜ ํฌ๊ธฐ ํ•ฉ)

๐Ÿ’ป ์ „์ฒด ์ฝ”๋“œ

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

public class Main {
    static class Ball implements Comparable<Ball> {
        int color, size, index;
        Ball(int color, int size, int index) {
            this.color = color;
            this.size = size;
            this.index = index;
        }

        @Override
        public int compareTo(Ball o) {
            return this.size - o.size;
        }
    }

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

        Ball[] balls = new Ball[n];
        int maxColor = 0;

        for (int i = 0; i < n; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int c = Integer.parseInt(st.nextToken());
            int s = Integer.parseInt(st.nextToken());
            balls[i] = new Ball(c, s, i);
            maxColor = Math.max(maxColor, c);
        }

        Arrays.sort(balls);  // ํฌ๊ธฐ ๊ธฐ์ค€ ์ •๋ ฌ

        int[] result = new int[n];
        int[] colorSum = new int[maxColor + 1];
        int total = 0, j = 0;

        for (int i = 0; i < n; i++) {
            Ball cur = balls[i];

            // ํ˜„์žฌ ๊ณต๋ณด๋‹ค ์ž‘์€ ํฌ๊ธฐ ๊ณต๋“ค์˜ ๋ˆ„์ ํ•ฉ ์—…๋ฐ์ดํŠธ
            while (balls[j].size < cur.size) {
                total += balls[j].size;
                colorSum[balls[j].color] += balls[j].size;
                j++;
            }

            // ์ดํ•ฉ - ๊ฐ™์€ ์ƒ‰์ƒ ๋ˆ„์ ํ•ฉ
            result[cur.index] = total - colorSum[cur.color];
        }

        for (int r : result) System.out.print(r + "\n");
    }
}

๐Ÿ“Œ ์ •๋ฆฌ

  • ์ •๋ ฌ ํ›„ ํˆฌ ํฌ์ธํ„ฐ ๋ฐฉ์‹์œผ๋กœ ๋ˆ„์ ํ•ฉ์„ ๊ฐฑ์‹ ํ•˜๋ฉด์„œ ํƒ์ƒ‰
  • ๊ฐ™์€ ์ƒ‰์€ ์ ์ˆ˜์— ํฌํ•จํ•˜์ง€ ์•Š๋„๋ก ์ƒ‰์ƒ๋ณ„ ํ•ฉ์„ ๋”ฐ๋กœ ๊ด€๋ฆฌ
  • ๋ณต์žกํ•œ ๋ธŒ๋ฃจํŠธํฌ์Šค๋ณด๋‹ค ํ›จ์”ฌ ํšจ์œจ์ ์ธ ๋ˆ„์ ํ•ฉ ์ „๋žต

'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€ 1557: ๋„๋กœ์˜ ๊ฐœ์ˆ˜(Java)  (1) 2025.06.11
๋ฐฑ์ค€ 2248 - ์ด์ง„์ˆ˜ ์ฐพ๊ธฐ(Java)  (1) 2025.06.07
๋ฐฑ์ค€ 2294: ๋™์ „2(Java)  (1) 2025.06.02
๋ฐฑ์ค€ 1167: ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„(Java)  (0) 2025.05.26
๋ฐฑ์ค€ 1976: ์—ฌํ–‰ ๊ณ„ํš(Java)  (0) 2025.05.24
'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€ 1557: ๋„๋กœ์˜ ๊ฐœ์ˆ˜(Java)
  • ๋ฐฑ์ค€ 2248 - ์ด์ง„์ˆ˜ ์ฐพ๊ธฐ(Java)
  • ๋ฐฑ์ค€ 2294: ๋™์ „2(Java)
  • ๋ฐฑ์ค€ 1167: ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„(Java)
quokkaST
quokkaST
  • quokkaST
    stquokka
    quokkaST
    • ๊ฐœ๋ฐœ์ž (77)
      • n8n (2)
      • CS๊ณต๋ถ€ (46)
        • Java & Spring (15)
        • ์ธํ”„๋ผ (7)
        • ์šด์˜์ฒด์ œ & ์‹œ์Šคํ…œ (9)
        • ๊ธฐํƒ€ CS์ง€์‹ (7)
        • ๋„คํŠธ์›Œํฌ (6)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (2)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (16)
      • ํ”„๋กœ์ ํŠธ (8)
        • ๊ฐ์ •&๊ธˆ์œต์ฑ—๋ด‡ (8)
      • ๋ฆฌํŒฉํ† ๋ง (5)
        • horong (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”