λͺ©λ‘μ†Œμˆ˜κ΅¬ν•˜κΈ° (3)

𝘚𝘭𝘰𝘸 𝘣𝘢𝘡 𝘴𝘡𝘦𝘒π˜₯𝘺

[λ°±μ€€] 6588번: κ³¨λ“œλ°”νμ˜ μΆ”μΈ‘ - C++

문제 1742λ…„, λ…μΌμ˜ μ•„λ§ˆμΆ”μ–΄ μˆ˜ν•™κ°€ ν¬λ¦¬μŠ€ν‹°μ•ˆ κ³¨λ“œλ°”νλŠ” λ ˆμ˜¨ν•˜λ₯΄νŠΈ μ˜€μΌλŸ¬μ—κ²Œ λ‹€μŒκ³Ό 같은 좔츑을 μ œμ•ˆν•˜λŠ” νŽΈμ§€λ₯Ό λ³΄λƒˆλ‹€. 4보닀 큰 λͺ¨λ“  μ§μˆ˜λŠ” 두 ν™€μˆ˜ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ 8은 3 + 5둜 λ‚˜νƒ€λ‚Ό 수 있고, 3κ³Ό 5λŠ” λͺ¨λ‘ ν™€μˆ˜μΈ μ†Œμˆ˜μ΄λ‹€. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이닀. 이 좔츑은 아직도 ν•΄κ²°λ˜μ§€ μ•Šμ€ λ¬Έμ œμ΄λ‹€. 백만 μ΄ν•˜μ˜ λͺ¨λ“  μ§μˆ˜μ— λŒ€ν•΄μ„œ, 이 좔츑을 κ²€μ¦ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ μž…λ ₯은 ν•˜λ‚˜ λ˜λŠ” κ·Έ μ΄μƒμ˜ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 μžˆλ‹€. ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ κ°œμˆ˜λŠ” 100,000개λ₯Ό λ„˜μ§€ μ•ŠλŠ”λ‹€. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” 짝수 μ •μˆ˜ n ν•˜λ‚˜λ‘œ 이루어져 μžˆλ‹€. (6 ≤ n ..

[λ°±μ€€] 1929번: μ†Œμˆ˜ κ΅¬ν•˜κΈ° - C++ (+ μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체)

문제 M이상 Nμ΄ν•˜μ˜ μ†Œμˆ˜λ₯Ό λͺ¨λ‘ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 μžμ—°μˆ˜ Mκ³Ό N이 빈 칸을 사이에 두고 주어진닀. (1 ≤ M ≤ N ≤ 1,000,000) M이상 Nμ΄ν•˜μ˜ μ†Œμˆ˜κ°€ ν•˜λ‚˜ 이상 μžˆλŠ” μž…λ ₯만 주어진닀. 좜λ ₯ ν•œ 쀄에 ν•˜λ‚˜μ”©, μ¦κ°€ν•˜λŠ” μˆœμ„œλŒ€λ‘œ μ†Œμˆ˜λ₯Ό 좜λ ₯ν•œλ‹€. μ•žμ„œ 1978번 μ†Œμˆ˜ μ°ΎκΈ°μ—μ„œ ν’€μ—ˆλ˜ νŠΉμ • μˆ˜μ— λŒ€ν•œ μ†Œμˆ˜ νŒμ •μ„ ν™•μž₯ν•˜μ—¬ νŠΉμ • λ²”μœ„ λ‚΄μ˜ μ†Œμˆ˜λ₯Ό λͺ¨λ‘ κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μΈ μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체λ₯Ό μ΄μš©ν•˜μ—¬ ν’€ 수 μžˆλŠ” λ¬Έμ œμ΄λ‹€. 말이 μ–΄λ ΅μ§€λ§Œ, 원리가 κ°„λ‹¨ν•˜λ‹€. 2 μ΄μƒμ˜ κ΅¬ν•˜κ³ μž ν•˜λŠ” λ²”μœ„ 내에 μ‘΄μž¬ν•˜λŠ” μžμ—°μˆ˜λ₯Ό λͺ¨λ‘ λ‚˜μ—΄ν•œ λ’€, 2의 λ°°μˆ˜λΆ€ν„° 3의 배수, 4의 배수, ... λ“± μ°¨λ‘€λ‘œ κ·Έ 수의 λ°°μˆ˜λ“€μ„ μ§€μ›Œλ‚˜κ°„λ‹€. 예λ₯Ό λ“€μ–΄, λ‹€μŒκ³Ό 같이 2λΆ€ν„° 50κΉŒμ§€μ˜ λ²”μœ„ 내에..

[λ°±μ€€] 1978번: μ†Œμˆ˜ μ°ΎκΈ° - C++

문제 주어진 수 N개 μ€‘μ—μ„œ μ†Œμˆ˜κ°€ λͺ‡ κ°œμΈμ§€ μ°Ύμ•„μ„œ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫 쀄에 수의 개수 N이 주어진닀. N은 100μ΄ν•˜μ΄λ‹€. λ‹€μŒμœΌλ‘œ N개의 μˆ˜κ°€ μ£Όμ–΄μ§€λŠ”λ° μˆ˜λŠ” 1,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. 좜λ ₯ 주어진 μˆ˜λ“€ 쀑 μ†Œμˆ˜μ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€. μ†Œμˆ˜λ₯Ό μ°ΎλŠ” μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•˜μ—¬ ν’€ 수 μžˆλŠ” 문제. μ†Œμˆ˜λŠ” 1보닀 큰 μžμ—°μˆ˜ 쀑 1κ³Ό 자기 μžμ‹ λ§Œμ„ μ•½μˆ˜λ‘œ κ°–λŠ” μžμ—°μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€. 2, 3, 5, 7, 11 .. λ“±μ˜ μžμ—°μˆ˜κ°€ μ†Œμˆ˜λ‘œ μ†ν•œλ‹€. 첫번째둜 κ°€μž₯ 기본적인 μ†Œμˆ˜λ₯Ό μ°ΎλŠ” 방법은 2λΆ€ν„° NκΉŒμ§€μ˜ 수λ₯Ό μ‘°μ‚¬ν•˜λŠ” 방법이닀. 2λΆ€ν„° NκΉŒμ§€μ˜ 수 i둜 N을 λ‚˜λˆ λ³΄λ©΄μ„œ λ‚˜λ¨Έμ§€κ°€ 0이 λ‚˜μ˜€λŠ”μ§€ νŒλ³„ν•˜λŠ” 것이닀. 2λΆ€ν„° NκΉŒμ§€ λͺ¨λ“  경우의 수λ₯Ό 계산해보기 λ•Œλ¬Έμ— μ‹œκ°„λ³΅μž‘λ„λŠ” O(N)이 λ‚˜μ˜¨λ‹€. boo..