์ ๋ ฌ(9)
-
[BOJ] #11004 - k๋ฒ์งธ ์
11004๋ฒ: K๋ฒ์งธ ์ ์ N๊ฐ A1, A2, ..., AN์ด ์ฃผ์ด์ง๋ค. A๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ ๋, ์์์๋ถํฐ K๋ฒ์งธ ์๋ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ ๋ ฌ ** ํ์ด ๋ฐ์ดํฐ ๊ฐ์๊ฐ ์ต๋ 5,000,000๊ฐ ์๊ฐ ๋ณต์ก๋ O(NlogN)์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ด์ฉ N * logN โ 5,000,000 * 22 โ 1์ต ์๊ฐ์ ์ด์ ์ ์ํ์ฌ PyPy3๋ฅผ ์ ํํ์ฌ ์ฝ๋ ์ ์ถ n, k = map(int, input().split()) data = list(map(int, input().split())) data.sort() print(data[k - 1])
2021.06.15 -
[BOJ] #2751 - ์ ์ ๋ ฌํ๊ธฐ 2
2751๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 2 ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 โค N โค 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค. www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ ๋ ฌ ** ํ์ด ๋ฐ์ดํฐ์ ๊ฐ์๋ ์ต๋ 1,000,000๊ฐ -> O(nlogn)์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ด์ฉ n = 1,000,000 โ 2^20 (โต 2^10 โ 1,000) nlogn = 1,000,000 * 1og2(2^20) โ 20,000,000 (1์ด๋น) ๊ณ ๊ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(ํต, ๋ณํฉ, ํ) ์ ์ด์ฉํ์ฌ ๋ฌธ์ ํด๊ฒฐ ํน์ ํ์ด์ฌ์ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ฉ๋๋ค๋ฉด, ๋๋๋ก python 3 ๋ณด๋ค ๋ ๋น ๋ฅธ PyPy 3๋ฅผ ์ ํ..
2021.06.15 -
[BOJ] #11650 - ์ขํ ์ ๋ ฌํ๊ธฐ
11650๋ฒ: ์ขํ ์ ๋ ฌํ๊ธฐ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 โค xi, yi โค 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ ๋ ฌ ** ํ์ด (x, y)๋ฅผ ์ ๋ ฅ ๋ฐ์ ๋ค x, y ์์๋๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ์ด์ฌ์ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํํ์ ์ธ๋ฑ์ค ์์๋๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํจ key ์์ฑ ์ค์ ์ํด๋ ๋จ n = int(input()) array = [] for _ in range(n): x, y = map(int, input().split(' ')) array.append((x,y)) array = sorted..
2021.06.14 -
[BOJ] #10814 - ๋์ด์ ์ ๋ ฌ
10814๋ฒ: ๋์ด์ ์ ๋ ฌ ์จ๋ผ์ธ ์ ์ง์ ๊ฐ์ ํ ์ฌ๋๋ค์ ๋์ด์ ์ด๋ฆ์ด ๊ฐ์ ํ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋, ํ์๋ค์ ๋์ด๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, ๋์ด๊ฐ ๊ฐ์ผ๋ฉด ๋จผ์ ๊ฐ์ ํ ์ฌ๋์ด ์์ ์ค๋ ์์๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ ๋ ฌ ** ํ์ด ํํ (๋์ด, ์ด๋ฆ) ์ผ๋ก ๋ฌถ์ด ๋์ด ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ํ์ด์ฌ์ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ ๋์ด๊ฐ ๋์ผํ ๊ฒฝ์ฐ, ๋จผ์ ์ ๋ ฅ๋ ์ด๋ฆ ์์์ ๋ฐ๋ฅด๋๋ก key ์์ฑ์ ์ค์ n = int(input()) users = [] for _ in range(n): age, name = list(input().split(' ')) users.append((int(age), name)) s_users = sorted(users, key = lambda x:x..
2021.06.14 -
[BOJ] #1427 - ์ํธ์ธ์ฌ์ด๋
1427๋ฒ: ์ํธ์ธ์ฌ์ด๋ ์ฒซ์งธ ์ค์ ์ ๋ ฌํ๊ณ ์ํ๋ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 1,000,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. www.acmicpc.net ** ๋ฌธ์ ์ ํ ๋ฐฐ์ด, ์์ ํ์ ** ํ์ด ์๋ฆฟ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ฏ๋ก, 9๋ถํฐ 0๊น์ง ์ฐจ๋ก๋๋ก ํ์ธ ๊ฐ ์ซ์์ ๋ํ์ฌ ํด๋น ์ซ์์ ๊ฐ์๋ฅผ ๊ณ์ฐํ์ฌ ์ถ๋ ฅ (์ธ๋ฑ์ค: ์ซ์, ๊ฐ: ๊ฐ์) array = input() for i in range(9, -1, -1): # 9, 8, 7, ... ,0 for j in array: if int(j) == i: print(i, end='')
2021.06.14 -
[BOJ] #2750 - ์ ์ ๋ ฌํ๊ธฐ
2750๋ฒ: ์ ์ ๋ ฌํ๊ธฐ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 โค N โค 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค. www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ ๋ ฌ ** ํ์ด ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ 1,000๊ฐ ์ดํ์ด๋ฏ๋ก ๊ธฐ๋ณธ์ ์ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ ๊ฐ๋ฅ # ํ์ด์ฌ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉ -> O(nlogn) n = int(input()) nums = [] for _ in range(n): nums.append(int(input())) nums.sort() for num in nums: print(num)
2021.06.13