๋ฐ์ํ
๐ ๋ฌธ์ ํ์ํ๊ธฐ
์ฌ๋์ ํค, ๋ชธ๋ฌด๊ฒ์ ๊ฐ์ผ๋ก ๋ฉ์น์ ๋ฑ์๋ฅผ ๋งค๊ธฐ๋ ค ํ๋ค.
ํค์ ๋ชธ๋ฌด๊ฒ๊ฐ ์๋๋ณด๋ค ํฌ๋ค๋ฉด ๋ฉ์น๊ฐ ๋ ํฌ๋ค๊ณ ์ ์ํ๋ค.
๋ฉ์น ๋ฑ์๋ ์์ ๋ณด๋ค ๋ ํฐ ๋ฉ์น์ ์ฌ๋์ ์๋ก ์ ํด์ง๋ค. ( ํฐ ๋ฉ์น์ ์ฌ๋์ด 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)))
๋ฐ์ํ
'๋ฐฑ์ค | Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][2810] ์ปตํ๋ | ํ์ด์ฌ | ๊ทธ๋ฆฌ๋ (0) | 2024.08.14 |
---|---|
[๋ฐฑ์ค][5585] ๊ฑฐ์ค๋ฆ๋ | ํ์ด์ฌ | ๊ทธ๋ฆฌ๋ (0) | 2024.08.13 |
[๋ฐฑ์ค][25305] ์ปคํธ๋ผ์ธ | ํ์ด์ฌ | ๊ตฌํ๋ฌธ์ (0) | 2024.08.09 |
[๋ฐฑ์ค][2562] ์ต๋๊ฐ | ํ์ด์ฌ, C++ (0) | 2024.07.11 |
[๋ฐฑ์ค][10951] A+B - 4 (0) | 2024.07.10 |