2021. 5. 4. 23:29ใPython
1946๋ฒ: ์ ์ ์ฌ์
์ฒซ์งธ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T(1 โค T โค 20)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์ ์ง์์์ ์ซ์ N(1 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ ์ค์๋ ๊ฐ๊ฐ์ ์ง์์์ ์๋ฅ์ฌ์ฌ ์ฑ
www.acmicpc.net
์ด ๋ฌธ์ ๋ ์ฐ์ ์ดํด๊ฐ ์ค์ํด ๋ณด์ธ๋ค. ์ฒ์์ ๋ฌธ์ ์์ฒด๋ฅผ ์ดํด ๋ชป ํด์ ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ์์ ์ ๋ต์ด ๋์ค๋์ง๋ ๊ธด๊ฐ๋ฏผ๊ฐํด์.. ์ฒ์์ ์กฐ๊ธ ์๋ํ๋ค๊ฐ ๋ฐฉ์นํด ๋์๋ค๊ฐ ๋ค์ ๊บผ๋ด์ ํ์๋ค.
1946 ์ง๋ฌธ์์ ์ด๋ค ๋ถ์ด ์ฝ๋ฉํธ์ ๋๋ฌด ์ ์ค๋ช ํด์ฃผ์ ์ ์ค๋ช ์ ๊ทธ๋๋ก ๊ฐ์ ธ์๋ค.
์ง์์๊ฐ ๋ชจ๋ ํ ์ฅ์์ ๋ชจ์๋ค๊ณ ์๊ฐํด ๋ณผ๊ฒ์.
๊ทธ ์ค์ ํ ์ง์์์ ์ ์ฅ์ด ๋์ด, ๋ค๋ฅธ ์ง์์๋ค์ ๋ฉด์ , ์๋ฅ ์ ์๋ฅผ ๋ด ๋๋ค.
๊ทธ ์ค์ ์ด๋ค ํ ์ฌ๋์ด๋ผ๋ ๋๋ณด๋ค ๋ ์ ์๊ฐ ๋ ๋์ผ๋ฉด, ๋๋ ์ ๋ฐ์ด ์ ๋ฉ๋๋ค. ๊ทธ๋ฐ ์ฌ๋์ด ์์ผ๋ฉด ๋๋ ์ ๋ฐ๋๋ ๊ฑฐ๊ณ ์.
์ด๋ฅผ ๋ชจ๋ ์ง์์์ ๋ํด ๋ค ํด๋ณด๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์ ๋ด๊ฐ ์ป์ ํํธ๋ ๊ทธ๋ผ ์ฐ์ list ์ ์ ๋ ฌ ๊ธฐ๋ฅ(sort)๋ฅผ ์จ๋ณด๋ฉด ์ด๋จ๊น? ์๋ค.
๋ฆฌ์คํธ๋ก ์ ๋ ฌํด์ ํ ๋ฒ printํด๋ณด๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉฐ ์๊ฐํด๋ณด๋,
์ฒซ ๋ฒ์งธ ์๋ฅ ์ฌ์ฌ์์ 1๋ฑ์ ํ ์ฌ๋์ ๋ฌด์กฐ๊ฑด ์ ๋ฐ๋๋ค. ์๋ฅ ์ฌ์ฌ 2๋ฑ์ 1๋ฑ์ ๋ฉด์ ์ ์๋ณด๋ค ๋์ ๋ฑ์๋ฅผ ๊ฐ์ง๋ฉด ์ ๋ฐ๋๋ค.
๋ผ๋ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์๋ค.
์ฆ, ์ฒ์์ ์ ๋ ฌ์ ํตํด ์๋ฅ ์ฌ์ฌ ๋ฑ์๋ฅผ ์ผ๊ด์ ์ผ๋ก ์ ๋ฆฌํ๊ณ , ์ค์ง ๋ฉด์ ๋ฑ์๋ก๋ง ์ ๋ฐ ์ ๋ฌด๋ฅผ ํ๋จํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
๊ทธ๋์ ์ฒ์์๋ ๋จ์ํ๊ฒ for ๋ฌธ์ ๋๋ฉด์ ๋ด ์๋ฅ์ฌ์ฌ ๋ฑ์๋ณด๋ค ๋ฐ๋ก ์์ ์๋ ์ฌ๋์ ๋ฉด์ ๋ฑ์๋ฅผ ๋์ ๋น๊ตํ๋ ์์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋๋ฐ, 'ํ๋ ธ์ต๋๋ค'๋ฅผ ๋ฐ์๋ค. ๊ทธ๋์ ๋ฐ๋ก๋ฅผ ์ฐพ๋ค ๋ณด๋ ์ํ, ๋ด ๊ธฐ์ค์ด ์๋ชป๋์๋ค๋ ๊ฑธ ์ธ์งํ ์ ์์๋ค.
๋จ์ํ ์์ฌ๋๊ณผ ๋น๊ตํ๋ค๊ฐ ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ฐ, ๋ํ์ ์ธ ๋ฌธ์ ๋ ์ด์ ๊ฐ๋ค.
<์ ๋ ฅ>
1
7
1 4
2 3
3 2
4 1
5 7
6 6
7 5
<๋ง์ฝ ์๋ฅ ๋ฑ์ ์ ์ฌ๋๊ณผ์ ๋น๊ต'๋ง' ์งํํ๋ค๋ฉด ๊ฒฐ๊ณผ>
6
<์ค์ ์ ๋ต>
4
์ ๊ทธ๋ด๊น? ๋ฐ๋ก 5 7/ 6 6 / 7 5 ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
5 7์ ์์ฐ์ค๋ฝ๊ฒ ์ ๋ฐ๋์ง ๋ชปํ๋ค. ๊ทธ๋ฐ๋ฐ 6 6 ์ ์์ 5 7 ๊ณผ ๋น๊ตํ์ ๋ 6์ด 7๋ณด๋ค ์๊ธฐ ๋๋ฌธ์ ์ ๋ฐ๋๋ค๋ ์ฐฉ๊ฐ์ ํ๊ฒ ๋๋ค.
์ฆ, ์์ฌ๋๊ณผ์ ๋น๊ต๊ฐ ์๋๋ผ '์ต์๊ฐ'์ผ๋ก ๋น๊ต๋ฅผ ํด์ผ ๋ฌธ์ ์์ด ๋์๊ฐ๋ค. ์๊น์ ๊ฐ์ ์ํฉ์์๋ 4๋ฒ์งธ ๋ฃจํ์ธ 4 1 ์์ 1์ด ์ต์๊ฐ์ด ๋๋ฏ๋ก ์์ฐ์ค๋ฝ๊ฒ 5 7 /6 6 /7 5๋ ํ๋ฝํ๊ฒ ๋๋ค.
<์ ์ฒด ์ฝ๋>
from sys import stdin
a = []
passed = []
t = int(stdin.readline())
for i in range(0, t):
passed.append(1)
n = int(stdin.readline())
for j in range(0,n):
ranks = list(map(int, stdin.readline().split()))
a.append(ranks)
a.sort();
min = a[0][1]
for j in range(1, n):
if a[j][1] < min:
passed[i] += 1
min = a[j][1]
del a[0:]
for i in range(0,t):
print(passed[i])
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 2011 ํ์ด์ฌ (1) | 2021.07.31 |
---|---|
๋ฐฑ์ค 1924 ํ์ด์ฌ (0) | 2021.06.29 |
๋ฐฑ์ค 1476 ํ์ด์ฌ (0) | 2021.04.07 |
๋ฐฑ์ค 1021๋ฒ ํ์ด์ฌ (0) | 2021.04.02 |
๋ฐฑ์ค 1550๋ฒ ํ์ด์ฌ (0) | 2021.03.27 |