๐Ÿง Algorithm/Baekjoon๐Ÿ’ก

๐Ÿ’กโœจ์ค‘๊ฐ„์ ๊ฒ€ : sort, reverse ๊ทธ๋ฆฌ๊ณ  slicing

4:Bee 2023. 12. 23. 22:52
728x90

sortํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N}")
N.sort()
print(N.sort())
print(f"{type(N[0])} -> {N}")
 
<class 'int'> -> [3, 6, 2]
None
<class 'int'> -> [2, 3, 6]

sort๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‚œ ํ›„์˜ N์˜ list๊ฐ€ ์ •๋ ฌ์ด ๋˜์–ด ์žˆ๋Š” ๋ชจ์Šต์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. print(N.sort())๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ฌด๊ฒƒ๋„ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.  ์‚ฌ์‹ค์ƒ ์—ฌ๊ธฐ์„œ sort๋ฅผ ๋‘๋ฒˆ ํ˜ธ์ถœ ํ–ˆ๋‹ค. ์œ„์—์„œ ๋ถ€ํ„ฐ print(N.sort())๊นŒ์ง€ ํ•ด์„œ ์ด 2๋ฒˆ์„ ํ˜ธ์ถœ ํ•œ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ๊ผญ ๊ธฐ์–ตํ•ด๋‘์ž.

reverseํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N}")
N.reverse()
# print(N.reverse())  #None
print(f"{type(N[0])} -> {N}")
 
<class 'int'> -> [3, 6, 2]
<class 'int'> -> [2, 6, 3]

reversํ•จ์ˆ˜ ๋˜ํ•œ sort๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋™์ผํ•˜๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ list์˜ slicing์„ ํ™•์ธํ•˜์ž

list์˜ slicing ํ™•์ธํ•˜๊ธฐ

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[::]}")
 
<class 'int'> -> [3, 6, 2]
 

list์˜ slicing์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” '[]'๊ด„ํ˜ธ ์†์— ':' ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. ๊ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” [start:end:step]์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•ด์„œ slicingํ•œ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 
N = [3, 6, 2]   # index 0, 1, 2
print(f"{type(N[0])} -> {N[1:2:]}")
 
<class 'int'> -> [6]
 

์‹œ์ž‘์„ index 1์—์„œ ๋ถ€ํ„ฐ index 2๊นŒ์ง€์˜ ๋ฒ”์œ„์ด๋‹ค. ๋งˆ์ง€๋ง‰ ๊นŒ์ง€์˜ index๋Š” ์ œ์™ธํ•˜๊ณ  ์‹œ์ž‘ ๋ถ€ํ„ฐ์˜ ๊ฐ’์ด print๋œ๋‹ค. ๋งŒ์•ฝ ๋๊นŒ์ง€ ๊ฐ’์„ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ•˜๋ฉด๋œ๋‹ค.

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[1:3:]}")
 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[1::]}")
 
<class 'int'> -> [6, 2]

์ด ๋‘˜์˜ ๋ฐฉ์‹์€ ๋™์ผํ•˜๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ step์˜ ํ™œ์šฉ์„ ํ™•์ธํ•˜๊ณ  ๋งˆ์น˜๊ฒ ๋‹ค.

 
N = [1, 2, 3, 4, 5, 6]
print(f"{type(N[0])} -> {N[::2]}")
 
<class 'int'> -> [1, 3, 5]
 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[::-1]}")
 
<class 'int'> -> [2, 6, 3]
 

์ฒซ๋ฒˆ์งธ ๋ฐฉ์‹์€ step์ด 2๋งŒํผ ์”ฉ ํ•ด๋‹น list index๊ฐ€ ์›€์ง์ธ๋‹ค. ๋”ฐ๋ผ index 0๋ถ€ํ„ฐ +2๋งŒํผ index๋ฅผ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. ์ฆ‰, index 0,2,4 ์ž๋ฆฌ์— ์žˆ๋Š” ๊ฐ’๋“ค์„ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ -1๋งŒํผ์˜ step์€ reverse์™€ ๊ฐ™์€ ๋ชจ์Šต์ด๋‹ค. ์ฆ‰, ๊ฑฐ๊พธ๋กœ index๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฒƒ์ด๋‹ค.

728x90