๋ฌธ์ ๐ต๐ซ
2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
ํ๋ฆฐ ๋ด ํ ๐ฆท
# 11651. ์ขํ ์ ๋ ฌํ๊ธฐ2
N = int(input())
result = []
for _ in range(N):
x, y = map(int, input().split())
result.append([x, y])
# for k in result:
# print(k[-1])
for i in range(N-1):
if result[i][-1] > result[i+1][-1]:
result[i], result[i+1] = result[i+1], result[i]
# print(result)
for i in range(N-1):
if result[i][-1] > result[i+1][-1]:
result[i], result[i+1] = result[i+1], result[i]
for s in result:
print(*s)
์ฒ์์๋ ์์๊ฒ๋ถํฐ ๋น๊ตํ๋ฉด์ ์์๊ฐ์ด ๋ค์๊ฐ๋ณด๋ค ํฌ๋ฉด ๋ฐ๊ฟ์ฃผ๋ ๋๋์ผ๋ก ๋ก์ง์ ๊ตฌ์ฑํ๋๋ฐ... for๋ฌธ์ ๋๋ฒ ๋๋ฆฌ๋๊น ํ ์คํธ ์ผ์ด์ค์ ๋ต์ ๋์๋๋ฐ ์๋ง ํ๋ ์ผ์ด์ค๋ค์ ๋ค ๊ฑธ๋ ค์ ํ์ผ์ ๋ฐ์๋ค...
์๋ง ๋ค๋ฅธ ์ ๋ค์ ๋๋ฒ์ผ๋ก ์๋๊ฒ ์ง..
๊ทธ๋์ ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ํ๋ฉด ์ข์๊น ๋ค์ ์๊ฐํด๋ณด๋ค๊ฐ...
y๊ฐ์ ์ฐจ๋ก๋ก ์ ๋ ฌํ๋ฉด ๋๋๊น ๋จผ์ ๋ฐ์์ ์ํธ??
๋ด ํ ๐ฆท
# 11651. ์ขํ ์ ๋ ฌํ๊ธฐ2
import sys
input = sys.stdin.readline
N = int(input())
result = []
# y ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
for _ in range(N):
x, y = map(int, input().split())
result.append([y, x])
result.sort()
# print(result)
for y, x in result:
print(x, y)
๊ฒฐ๊ณผ๋ ์ฑ๊ณต์ด์๋ค!!!! ์๊ฐ๋ณด๋ค ๋๋ฌด ๊ฐ๋จํ๊ฒ ํด๊ฒฐ ใ ใ ใ ใ ใ
๊ทธ๋ฌ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ดค๋๋ฐ ์ ๋ง ๋ง์ ์ฌ๋๋ค์ด ๋๋ค๋ฅผ ๋ง์ด ์ฌ์ฉํ์ จ๋ค...
์ ๋ชฐ๋ผ์ ๋ชป ์ฐ๊ธฐ๋ ํ์ด์ ์ด๋ฒ๊ธฐํ์ ๊ณต๋ถํ๊ธฐ๋ก ํ๋ค ^^
์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฐ๋ ๋ค โ๏ธ
- sorted()์์ key lambda ์ฌ์ฉ (์ค๋ฆ์ฐจ์์ด ๊ธฐ๋ณธ)
- ๋จ์ํ sorted๋ง ์ฌ์ฉํ ๊ฒฝ์ฐ
a = [(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)]
b = sorted(a) # a.sort()์ ๋์ผ
print(b)
# [(0, 4), (1, -1), (1, 2), (2, 2), (3, 3)]
# ์ฌ์ค ๊ตณ์ด ๋๋ค๋ก ์ด๋ ต๊ฒ ์ ์ฐ๊ณ ... ๊ฑฐ๊พธ๋ก ๋ฐ์์ ์ ๋ ฌํ๋๊ฒ ๋ ์ข์๋ฏ ^^^^^^^^
- key ์ธ์์ ํจ์๋ฅผ ๋๊ฒจ์ค ๊ฒฝ์ฐ
- ์ฒซ๋ฒ์งธ ๋ค์ด์๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ค ๊ฒฝ์ฐ
a = [(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)]
c = sorted(a, key = lambda x : x[0])
print(c)
# [(0, 4), (1, -1), (1, 2), (2, 2), (3, 3)]
# ์์ ์ธ์์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋๊ฒ์ ๋ณผ ์ ์๋ค
2. ๋๋ฒ์งธ ๋ค์ด์๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ค ๊ฒฝ์ฐ
a = [(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)]
d = sorted(a, key = lambda x : x[1])
print(d)
# [(1, -1), (1, 2), (2, 2), (3, 3), (0, 4)]
# ๋ค์ ์ธ์์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋๊ฒ์ ๋ณผ ์ ์๋ค
3. ์ฒซ๋ฒ์งธ ๋ค์ด์๋ ๊ฐ์ ์ค๋ฆ์ฐจ์, ๋๋ฒ์งธ ๋ค์ด์๋ ๊ฐ์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ค ๊ฒฝ์ฐ
# ๋ด๋ฆผ์ฐจ์์ ์์ -๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค!!
e = sorted(a, key = lambda x = (x[0], -x[1]))
print(e)
# [(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)]
# 11651. ์ขํ ์ ๋ ฌํ๊ธฐ2
import sys
input = sys.stdin.readline
N = int(input())
result = []
# x๊ฐ์ ์๊ด์์ด y ๊ฐ์ ์ ๋ ฌ => y ๊ฐ ์ ๋ ฌ
for _ in range(N):
x, y = map(int, input().split())
result.append([x, y])
ans = sorted(result, key = lambda x : (x[1], x[0]))
for x, y in ans:
print(x, y)
๋ฐฐ์ด ๊ฒ์ ํ ๋๋ก ๋๋ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ๋ฌธ์ ๋ฅผ ํ๋ฉด ์ด๋ฌํ ์ฝ๋๋ฅผ ์ป์ ์ ์๋ค!!
๋ค์ ์ ๋ ฌ ๋ฌธ์ ๋ ๋๋ค๋ก ๋์ ํด๋ด์ผ๊ฒ ๋ค ๐๐๐
'algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1697. ์จ๋ฐ๊ผญ์ง (1) | 2023.09.20 |
---|---|
์์ด๊ณผ ์กฐํฉ๐ช (0) | 2023.09.20 |
๋ฐฑ์ค 1193. ๋ถ์ ์ฐพ๊ธฐ (1) | 2023.08.28 |
๋ฐฑ์ค 24444. ์๊ณ ๋ฆฌ์ฆ ์์ - ๋๋น ์ฐ์ ํ์ 1 (BFS) (0) | 2023.08.19 |
swea 4875. ๋ฏธ๋ก (์ฌ๋ฐฉํ์ & DFS) (0) | 2023.08.19 |