λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Coding Test μ½”λ”©ν…ŒμŠ€νŠΈ

Do it μ•Œκ³ λ¦¬μ¦˜ μ½”λ”©ν…ŒμŠ€νŠΈ ν•˜λ£¨μ½”λ”© 7μž₯ μ •μˆ˜λ‘  이둠

by λΉ„μ†Œμ•Ό 2022. 11. 18.
728x90

#18 μ†Œμˆ˜ κ΅¬ν•˜κΈ°(μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체)

μ†Œμˆ˜(prime number)? μ•½μˆ˜κ°€ 1κ³Ό 자기 μžμ‹  μ΄μ™Έμ—λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 수

// 1은 μ†Œμˆ˜κ°€ μ•„λ‹ˆλ‹€.

 

μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œλŠ” μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체λ₯Ό μ‚¬μš©ν•˜μ—¬ μ†Œμˆ˜λ₯Ό κ΅¬ν•œλ‹€.

 

κ³Όμ •

1. κ΅¬ν•˜κ³ μžν•˜λŠ” λ²”μœ„ 만큼 1차원 λ°°μ—΄ 생성

2. 2λΆ€ν„° μ‹œμž‘ν•˜μ—¬ // 1은 μ†Œμˆ˜κ°€ μ•„λ‹ˆλ―€λ‘œ μ‚­μ œ

λ°°μ—΄μ—μ„œ ν˜„μž¬ μ„ νƒλœ 숫자의 λ°°μˆ˜μ— ν•΄λ‹Ήν•˜λŠ” 수λ₯Ό λκΉŒμ§€ νƒμƒ‰ν•˜λ©° μ‚­μ œ

처음 μ„ νƒλœ μˆ«μžλŠ” μ§€μš°μ§€ μ•ŠλŠ”λ‹€. // μ†Œμˆ˜μ΄λ―€λ‘œ

3. λκΉŒμ§€ κ³Όμ • 2λ₯Ό λ°˜λ³΅ν›„ 남아 μžˆλŠ” 수λ₯Ό 좜λ ₯ // μ†Œμˆ˜

 

μ‹œκ°„λ³΅μž‘λ„λŠ”?

이쀑 forλ¬Έ μ΄λ―€λ‘œ O(n^2) 이라고 μƒκ°ν•˜μ§€λ§Œ μ•„λ‹ˆλ‹€. μ‹€μ œλŠ” O(nlog(logn)) // λ°”κΉ₯ for문이 λΉˆλ²ˆν•˜κ²Œ μƒλž΅λ˜λ―€λ‘œ

 

# 19 μ΅œλŒ€ κ³΅μ•½μˆ˜ κ΅¬ν•˜κΈ°(μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•)

μ΅œλŒ€ κ³΅μ•½μˆ˜λž€? 두 수의 κ³΅ν†΅λœ μ•½μˆ˜ μ€‘μ—μ„œ μ΅œλŒ€ κ°’

μ†ŒμΈμˆ˜λΆ„ν•΄ν•΄μ„œ κ³΅ν†΅λœ μ†Œμˆ˜μ˜ 곱으둜 ν‘œν˜„ // ν•™μ°½μ‹œμ ˆμ— μˆ˜ν•™

 

μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œλŠ” μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ„ μ‚¬μš©ν•˜μ—¬ μ΅œλŒ€ κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•œλ‹€. // MOD μ—°μ‚° 즉, λ‚˜λ¨Έμ§€ μ—°μ‚° % μ‚¬μš©

 

κ³Όμ •

1. 큰 수λ₯Ό μž‘μ€ 수둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ” λ‚˜λ¨Έμ§€ μ—°μ‚° μˆ˜ν–‰

2. μ•ž λ‹¨κ³„μ—μ„œ μž‘μ€ μˆ˜μ™€ λ‚˜λ¨Έμ§€(MOD μ—°μ‚° 결괏값)으둜 λ‚˜λ¨Έμ§€ μ—°μ‚° μˆ˜ν–‰

3. κ³Όμ • 2λ₯Ό λ°˜λ³΅ν•˜λ‹€κ°€ λ‚˜λ¨Έμ§€κ°€ 0이 λ˜λŠ” μˆœκ°„μ˜ μž‘μ€ μˆ˜κ°€ μ΅œλŒ€ κ³΅μ•½μˆ˜μ΄λ‹€.

 

μž¬κ·€ν•¨μˆ˜λ‘œ κ΅¬ν˜„

728x90