๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป DEV/Python

[Python] sort() ํ•จ์ˆ˜์™€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

by vodkassi 2020. 12. 22.
728x90

Q: Sort() ์—†์ด๋„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์„๊นŒ? 


 

๊ตญ๋น„๊ต์œก 1์ฃผ์ฐจ ๋•Œ ๋“ค์—ˆ๋˜ ํŒŒ์ด์ฌ ๊ธฐ๋ณธ ๊ฐ•์˜์—์„œ ๋‚˜์™”๋˜ ์˜ˆ์ œ๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์™€ ๋ณด์•˜๋‹ค. 

 

  1. ์‚ฌ์šฉ์ž์—๊ฒŒ ๋กœ๋˜ ๋ช‡ ๊ฐœ๋ฅผ ๊ตฌ๋งคํ•  ๊ฒƒ์ธ์ง€ ๋ฌผ์–ด๋ณด๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋กœ๋˜ ๊ฐฏ์ˆ˜๋ณ„๋กœ 1-45 ์‚ฌ์ด์˜ ์ˆซ์ž 6๊ฐœ๋ฅผ ๋ฌด์ž‘์œ„๋กœ ๋ฝ‘์•„๋ผ.
    • ์˜ˆ) ๋กœ๋˜ 3๊ฐœ -> 6๊ฐœ์˜ ๋ฌด์ž‘์œ„ ์ˆซ์ž๋ฅผ ์ด 3 ๋ฌถ์Œ ์ถœ๋ ฅ
  2. ๋ฌถ์Œ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ์ถœ๋ ฅํ•˜๋ผ.

๋‹น์‹œ ๊ฐ•์˜ ๋‚ด์šฉ์— sort() ํ•จ์ˆ˜๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, sort() ํ•จ์ˆ˜๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ํ’€์—ˆ์—ˆ๋‹ค.  (์‚ฌ์‹ค ๊ตฌ๊ธ€๋ง์œผ๋กœ sort()์„ ์ฐพ์•„ ์“ฐ๊ธด ํ–ˆ์œผ๋‚˜ ๋ฐฐ์šด ๋ฒ”์œ„ ๋‚ด์—์„œ๋„ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ด์„œ ์–ด๋ ต๊ฒŒ ๋Œ์•„๊ฐ”๋‹ค)  ๊ทธ ๋•Œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ตœ์„ ์˜ ํ’€์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค. 

 

import random

lotto = int(input('๋กœ๋˜ ๊ฐฏ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค: '))

for num in range(lotto):

    lotto_num = random.sample(range(1, 46), 6)
    result = []
    
    for num1 in range(1, 46): 		# 1 ๋ถ€ํ„ฐ 45 ๊นŒ์ง€์˜ ์ˆซ์ž๋งˆ๋‹ค 
        if num1 in lotto_num:		# ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค
            result.append(num1)		# ์žˆ์œผ๋ฉด ์ƒˆ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค 
            
    print(result)   

 

์ง€๊ธˆ๋ณด๋‹ˆ ๊ฝค๋‚˜ ์กฐ์žกํ•œ๋ฐ, 1-45 ์‚ฌ์ด์˜ ๋ชจ๋“  ์ˆ˜๋ฅผ ์ผ์ผ์ด lotto_num ์— ๋Œ€์ž…ํ•ด๋ณธ ๋’ค,  ์ผ์น˜ํ•˜๋ฉด ์ƒˆ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ๋ฐœ์ƒ์ด์—ˆ๋‹ค. 

๋‹น์‹œ์— ๋ฐฐ์› ๋˜ ๋‚ด์šฉ๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ์„ ๊ฒƒ์ด๋‹ค. 

 

import random
 
lotto = int(input('๋กœ๋˜ ๊ฐฏ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค: '))

for num in range(lotto):

    lotto_num = random.sample(range(1, 45), 6)
    result = []
    
    while len(lotto_num) > 0: 		# ๋ฆฌ์ŠคํŠธ ๋‚ด์˜ element๊ฐ€ ๋‹ค ์—†์–ด์งˆ ๋•Œ๊นŒ์ง€
    
        min_num = min(lotto_num)	# ๋ฆฌ์ŠคํŠธ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ๋‹ค
        result.append(min_num) 		# ์ตœ์†Ÿ๊ฐ’์„ ์ƒˆ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค
        lotto_num.remove(min_num)	# ๊ธฐ์กด ๋ฆฌ์ŠคํŠธ์—์„œ ํ•ด๋‹น ์ตœ์†Ÿ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค 
        
    print(result) # ์ƒˆ ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ 

 

์กฐ์žกํ•˜๊ธฐ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€. ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ๋ชฉ์ ์ด๋ผ๋ฉด ๊ฒฐ๊ณผ๋Š” ์„ฑ๊ณต์ด๊ธด ํ•˜๋‹ค. 

 

์• ์จ ํ’€๊ณ  ๋‚œ ํ›„์— ๋‹ต์ง€๋ฅผ ํ™•์ธํ–ˆ๋”๋‹ˆ ํ•ด์„ค์ž๊ฐ€ '์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์šฐ์ง€ ์•Š์€ sort() ์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค~' ๊ณ  ํ•ด์„œ ์–ด์ด ์—†์—ˆ์ง€๋งŒ, ์–ด์จŒ๋“  ๋‚˜๋Š” sort() ์„ ์“ฐ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์“ฐ์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ• ๋‘ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ํ„ฐ๋“ํ–ˆ์œผ๋‹ˆ ์ž˜ ๋œ ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. 

 

sort() ์„ ์“ฐ๋ฉด ์ฝ”๋“œ๊ฐ€ ํ•œ๊ฒฐ ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค:

 

import random
 
lotto = int(input('๋กœ๋˜ ๊ฐฏ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค: '))

for num in range(lotto):
    lotto_num = random.choice(range(1,46), 6)
    print(lotto_num.sort())

 


A: Sort() ์—†์ด๋„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ตณ์ด ๊ธธ์„ ๋Œ์•„๊ฐˆ ํ•„์š”๋Š” ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. 


 

'๐Ÿ’ป DEV > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] Imaplib์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฉ”์ผ ์ฝ๊ณ ์“ฐ๊ธฐ  (0) 2021.06.23

๋Œ“๊ธ€