728x90
๋ฐ์ํ
"""
์ ์ n์ ๊ธฐ์ค์ผ๋ก n๊ณผ ๊ฐ๊น์ด ์๋ถํฐ ์ ๋ ฌํ๋ ค๊ณ ํฉ๋๋ค.
์ด๋ n์ผ๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๋ค๋ฉด ๋ ํฐ ์๋ฅผ ์์ ์ค๋๋ก ๋ฐฐ์นํฉ๋๋ค.
์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numlist์ ์ ์ n์ด ์ฃผ์ด์ง ๋ numlist์ ์์๋ฅผ n์ผ๋ก๋ถํฐ
๊ฐ๊น์ด ์์๋๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
"""
def solution(numlist, n):
rank = sorted([[value, distance:=abs(value-n)] for value in numlist], key = lambda x: (x[1],-x[0]))
return [v[0] for v in rank]
"""
ํ๊ณ ๋์ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ ์ฒ๋ฆฌ๋ฅผ ๋ํด๋ ๋๋ ๊ฒ ๊ฐ๋ค.
์ฐ์ ๋ด๊ฐ ํผ ๋ฐฉ์์ ๋จ๊ณ๋ณ๋ก ํ์ดํด๋ณด๋ฉด
1) [[value, distance:=abs(value-n)] for value in numlist]
numlist์์ value๋ฅผ ํ๋์ฉ ๊ฐ์ง๊ณ ์์ [value, distance]๋ก ํํํ๋ค.
n์ด 3, value๊ฐ 3์ด๋ผ๋ฉด [0, 0 (3-3)]์ด ๋๋ค.
2) sorted( '1)์์ ๋์จ ๋ฆฌ์คํธ', key = lambda x: (x[1],-x[0]))
์ด๊ฑด sortํ๋ ๋ฐฉ์์ด๋ค. ๋ณดํต key = lambda x : ๋ก ์ฌ์ฉํ๋ค.
(x[1], -x[0])์ ๋ป์ ๋จผ์ x[1]์ ๊ธฐ์ค์ผ๋ก ์ํธํ๋ค.
๋ง์ฝ x[1]์ด ๊ฐ์ ๊ฐ์ด๋ผ๋ฉด ๊ทธ ๋ค์ -x[0]์ ๊ธฐ์ค์ผ๋ก ์ํธํ๋ค.
+์ -๋ ์ค๋ฆ์ฐจ์๊ณผ ๋ด๋ฆผ์ฐจ์์ ์๊ฐํ๋ฉด ๋๋ค.
3) return [v[0] for v in rank]
2๋ฒ์ผ๋ก ์ํธ๋ฅผ ํ๊ณ ๋๋ฉด ๊ฑฐ๋ฆฌ์, value๊ฐ์ผ๋ก ์ํธ๊ฐ ๋๋ค.
๊ทธ๋ฌ๋ฉด ์ด์ ์ฐจ๋ก๋๋ก value๋ฅผ ๊ฐ์ง๊ณ ๋ฆฌํดํด์ฃผ๋ฉด ๋๋ค.
"""
728x90
๋ฐ์ํ
'๐ผ๐ก๐๐ค๐ง๐๐ฉ๐๐ข > ๐๐ง๐ค๐๐ง๐๐ข๐ข๐๐ง๐จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค '์์ ์ง๋' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค '์์ธ์๋ถํด' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค '์ต๋น๊ฐ ๊ตฌํ๊ธฐ' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค '์ ์ฃผ์ ์ซ์ 3' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค '๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
๋๊ธ