๐ ๋ฐฑ์ค 7568 - ๋ฉ์น
โก๏ธ ๋์ ํ์ด
์ธ์ ๊ฐ ๋จ๊ณ๋ณ ํ์ด
์์ ํ๋ฒ ๋ดค์๋๋ฐ, ์ด๋ป๊ฒ ํ์ด์ผ ํ ์ง ๋ชฐ๋ผ ๋๊ฒผ์๋๋ฐ ์ด๋ฒ์ ํ์๋ค.
์ด ๋ฌธ์ ์ ๊ฐ์ฅ ํต์ฌ ๋ฌธ์ฅ์ ๊ฐ ์ฌ๋์ ๋ฉ์น ๋ฑ์๋ ์์ ๋ณด๋ค ๋ ํฐ ๋ฉ์น์ ์ฌ๋์ ์๋ก ์ ํด์ง๋ค.
์ด๋ค. ์ด์ค ๋ฐ๋ณต๋ฌธ์ ๋ฒ์๋ A-B, A-C, A-D, A-E
/ B-A, B-C, B-D, B-E
/ C-A, C-B, C-D, C-E
/ E-A, E-B, E-C, E-D
์ฒ๋ผ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋น๊ตํ ์ ์๊ฒ ์ ์ธํด์ผ ํ๋ค.
A-B
๋ B-A
๋ ๊ฐ์๊ฑฐ์๋๊ฐ?! ๋ผ๊ณ ์๊ฐํ ์๋ ์์ง๋ง, ๊ฐ๊ฐ์ ์ผ์ด์ค์์ ๋ฉ์น ๋ฑ์๋ฅผ ์
๋ ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ์ฌ๋์ ๋ฉ์น๋ฅผ ๋น๊ตํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ง ์๋ค.
- ์์ ์ ํฌํจํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์กฐ์ฌํ๋ค.(๋ฐ๋ณต๋ฌธ์ ๋ฒ์ ์ค์ ์ ํธ์์ฑ ์ํด ์์ ๋ ํฌํจ์์ผฐ๋ค. ์์ ๋ผ๋ฆฌ๋ ๋์๊ด๊ณ๊ฐ ์ฑ๋ฆฝ๋์ง ์๋๋ค.)
- 1๋ฑ๋ณด๋ค ๋์ ๋ฑ์(0๋ฑ์ ์๋ค.)๊ฐ ์์ผ๋ฏ๋ก ๋ฑ์(
prize
)์ ์ด๊ธฐ๊ฐ์1
์ด๋ค. - ํ์ฌ ๊ฐ๊ณผ ๋ค์๊ฐ์ ๋น๊ตํด์ ์์ ๋ณด๋ค ๋ ํฐ ์ฌ๋์ด ์๋ค๋ฉด
prize
๋ฅผ1
์ฆ๊ฐ์ํจ๋ค.(์์๊ฐ ๋ด๋ ค๊ฐ๋ค๋ ์๋ฏธ)
์ ๋ต ํ์ ์ ๋ฐ์๋๋ฐ, ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋์์๋ ๋์ฒ๋ผ 2์ค ๋ฐ๋ณต๋ฌธ ์ค๊ฐ์ prize = 1
์ ์ฌ์ฉํ์ง์๊ณ , prize=[1]*n
์ผ๋ก ์ด๊ธฐํ๋ฅผ ํด๋๊ณ ๋์ ๋์ค์ ํด๋น ์ธ๋ฑ์ค๋ง 1 ์ฆ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ๊ฐ๋
์ฑ์ด ๊ด์ฐฎ์ ์ฝ๋์๊ณ , ์ธ๋ฑ์ค๋ง๋ค cnt
๋ฅผ ์ฆ๊ฐํ๋ ๋ฌธ์ ๋ฅผ ํ ๋ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
n = int(input())
people = [tuple(map(int, input().split())) for _ in range(n)]
result = []
# ๋์ ์ฝ๋
for i in range(n):
prize = 1
for j in range(n):
if people[i][0] < people[j][0] and people[i][1] < people[j][1]:
prize += 1
result.append(prize)
print(' '.join(map(str, result)))
# ๋ค๋ฅธ์ฌ๋์ ์ฝ๋
prize = [1] * n
for i in range(n):
for j in range(n):
if people[i][0] < people[j][0] and people[i][1] < people[j][1]:
prize[i] += 1
print(' '.join(map(str, result)))
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 4396 - ์ง๋ขฐ (2) | 2021.05.20 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1110 - ๋ํ๊ธฐ ์ฌ์ดํด (0) | 2021.05.18 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 4673 - ์ ํ ๋๋ฒ (0) | 2021.05.18 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1977 - ์์ ์ ๊ณฑ ์ (0) | 2021.05.17 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10801 - ์นด๋๊ฒ์ (0) | 2021.05.14 |
๋๊ธ