๋ฐฑ์ค€ | Baekjoon

[๋ฐฑ์ค€][7568] ๋ฉ์น˜ | ํŒŒ์ด์ฌ | ๊ตฌํ˜„

sungkshon 2024. 8. 11. 21:36
๋ฐ˜์‘ํ˜•

๐Ÿ‘‰ ๋ฌธ์ œ ํƒ์ƒ‰ํ•˜๊ธฐ

์‚ฌ๋žŒ์˜ ํ‚ค, ๋ชธ๋ฌด๊ฒŒ์˜ ๊ฐ’์œผ๋กœ ๋ฉ์น˜์˜ ๋“ฑ์ˆ˜๋ฅผ ๋งค๊ธฐ๋ ค ํ•œ๋‹ค.

ํ‚ค์™€ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ์ƒ๋Œ€๋ณด๋‹ค ํฌ๋‹ค๋ฉด ๋ฉ์น˜๊ฐ€ ๋” ํฌ๋‹ค๊ณ  ์ •์˜ํ•œ๋‹ค.

 

๋ฉ์น˜ ๋“ฑ์ˆ˜๋Š” ์ž์‹ ๋ณด๋‹ค ๋” ํฐ ๋ฉ์น˜์˜ ์‚ฌ๋žŒ์˜ ์ˆ˜๋กœ ์ •ํ•ด์ง„๋‹ค. ( ํฐ ๋ฉ์น˜์˜ ์‚ฌ๋žŒ์ด k๋ช…์ด๋ผ๋ฉด ๋ฉ์น˜ ๋“ฑ์ˆ˜๋Š” k+1์ด ๋œ๋‹ค.)

 

๐Ÿ‘‰ ์ฝ”๋“œ ์„ค๊ณ„ํ•˜๊ธฐ

๋ถ€๋ฅดํŠธํฌ์Šค(์™„์ „ ํƒ์ƒ‰)์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. 

1. ๋ฌธ์ œ์˜ input์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

2. ๋ชธ๋ฌด๊ฒŒ์™€ ํ‚ค๋ฅผ [0]*n ํฌ๊ธฐ์˜ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

4. k๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋ฉ์น˜๊ฐ€ ๋” ํฌ๋‹ค๋ฉด 1์”ฉ ๋”ํ•ด์ค๋‹ˆ๋‹ค.

 

๐Ÿ‘‰ ์ •๋‹ต ์ฝ”๋“œ

import sys

n = int(input())
weight = []
height = []
for i in range(n):
    w, h = map(int, sys.stdin.readline().split())
    weight.append(w)
    height.append(h)
for i in range(n):
    k = 1
    for j in range(n):
        if weight[i] < weight[j] and height[i] < height[j]:
            k += 1
    print(k, end =" ")

 

๐Ÿ‘‰ ๋‹ค๋ฅธ ์ •๋‹ต ์ฝ”๋“œ

import sys

# 1. ๋ฌธ์ œ์˜ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.
N = int(sys.stdin.readline())

arr = []
for _ in range(N):
    weight, height = sys.stdin.readline().split()
    arr.append([int(weight), int(height)])

# 2. ๊ฐ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋ฅผ ๊ธฐ๋กํ•  ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค.
rank_arr = []

# 3. ๊ฐ ์‚ฌ๋žŒ์— ๋Œ€ํ•ด ์ž์‹ ์ด ์•„๋‹Œ ๋ชจ๋“  ๋‹ค๋ฆ„ ์‚ฌ๋žŒ๊ณผ ๋น„๊ตํ•˜๋ฉฐ, ์ž์‹ ๋ณด๋‹ค ๋ฉ์น˜๊ฐ€ ํฐ ์‚ฌ๋žŒ์˜ ์ˆ˜๋ฅผ ์„ผ๋‹ค.
for i in range(N):
    rank = 1
    for j in range(N):
        if i == j:
            continue
        if arr[i][0] < arr[j][0] and arr[i][1] < arr[j][1]: # ์ž์‹ ๋ณด๋‹ค ๋ฉ์น˜๊ฐ€ ํฐ์ง€ ํ™•์ธ
            rank = rank + 1
    # 4. ๋ฉ์น˜ ๋“ฑ์ˆ˜๋ฅผ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•œ๋‹ค.
    rank_arr.append(rank)

# 5. ์ถœ๋ ฅ ํ˜•์‹์— ๋งž๊ฒŒ ๋ฉ์น˜ ๋“ฑ์ˆ˜ ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.
print(" ".join(map(str, rank_arr)))
๋ฐ˜์‘ํ˜•