728x90
λ°˜μ‘ν˜•

전체 κΈ€ 104

[μ•Œκ³ λ¦¬μ¦˜] μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체 (μ†Œμˆ˜ νŒλ³„)

μ†Œμˆ˜ (Prime Number) 1보닀 큰 μžμ—°μˆ˜ μ€‘μ—μ„œ 1κ³Ό 자기 μžμ‹ μ„ μ œμ™Έν•œ μžμ—°μˆ˜λ‘œλŠ” λ‚˜λˆ„μ–΄ 떨어지지 μ•ŠλŠ” μžμ—°μˆ˜ 6은 1, 2, 3, 6으둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ―€λ‘œ μ†Œμˆ˜κ°€ μ•„λ‹ˆλ‹€. 7은 1κ³Ό 7을 μ œμ™Έν•˜κ³ λŠ” λ‚˜λˆ„μ–΄ 떨어지지 μ•ŠμœΌλ―€λ‘œ μ†Œμˆ˜μ΄λ‹€. μ†Œμˆ˜μ˜ νŒλ³„: 기본적인 μ•Œκ³ λ¦¬μ¦˜ 1. 기본적인 μ•Œκ³ λ¦¬μ¦˜ μ†ŒμŠ€ μ½”λ“œ- 파이썬 (Python) # μ†Œμˆ˜ νŒλ³„ ν•¨μˆ˜ (2μ΄μƒμ˜ μžμ—°μˆ˜μ— λŒ€ν•˜μ—¬) def is_prime_number(x): # 2λΆ€ν„° (x - 1)κΉŒμ§€μ˜ λͺ¨λ“  수λ₯Ό ν™•μΈν•˜λ©° for i in range(2, x): # xκ°€ ν•΄λ‹Ή 수둜 λ‚˜λˆ„μ–΄ 떨어진닀면 if x % i == 0: return False # μ†Œμˆ˜κ°€ μ•„λ‹ˆλ‹€. # λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λŠ” μˆ˜κ°€ ν•˜λ‚˜λ„ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ return True # μ†Œμˆ˜μ΄λ‹€. ..

Algorithm 2023.08.25

[λ°±μ€€] 1644 μ†Œμˆ˜μ˜ 연속합 (파이썬)

κ³¨λ“œ β…’ https://www.acmicpc.net/problem/1644 1644번: μ†Œμˆ˜μ˜ 연속합 첫째 쀄에 μžμ—°μˆ˜ N이 주어진닀. (1 ≤ N ≤ 4,000,000) www.acmicpc.net πŸ“„ 문제 ν•˜λ‚˜ μ΄μƒμ˜ μ—°μ†λœ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” μžμ—°μˆ˜λ“€μ΄ μžˆλ‹€. λͺ‡ 가지 μžμ—°μˆ˜μ˜ 예λ₯Ό λ“€μ–΄ 보면 λ‹€μŒκ³Ό κ°™λ‹€. 3 : 3 (ν•œ 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (μ„Έ 가지) 53 : 5+7+11+13+17 = 53 (두 가지) ν•˜μ§€λ§Œ μ—°μ†λœ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μ—†λŠ” μžμ—°μˆ˜λ“€λ„ μžˆλŠ”λ°, 20이 κ·Έ μ˜ˆμ΄λ‹€. 7+13을 κ³„μ‚°ν•˜λ©΄ 20이 λ˜κΈ°λŠ” ν•˜λ‚˜ 7κ³Ό 13이 연속이 μ•„λ‹ˆκΈ°μ— μ ν•©ν•œ ν‘œν˜„μ΄ μ•„λ‹ˆλ‹€. λ˜ν•œ ν•œ μ†Œμˆ˜λŠ” λ°˜λ“œμ‹œ ν•œ 번만 λ§μ…ˆμ— μ‚¬μš©λ  수 있기 λ•Œλ¬Έ..

[λ°±μ€€] 2138 전ꡬ와 μŠ€μœ„μΉ˜ (파이썬)

κ³¨λ“œ β…€ https://www.acmicpc.net/problem/2138 2138번: 전ꡬ와 μŠ€μœ„μΉ˜ N개의 μŠ€μœ„μΉ˜μ™€ N개의 전ꡬ가 μžˆλ‹€. 각각의 μ „κ΅¬λŠ” 켜져 μžˆλŠ” μƒνƒœμ™€ κΊΌμ Έ μžˆλŠ” μƒνƒœ 쀑 ν•˜λ‚˜μ˜ μƒνƒœλ₯Ό 가진닀. i(1 < i < N)번 μŠ€μœ„μΉ˜λ₯Ό λˆ„λ₯΄λ©΄ i-1, i, i+1의 μ„Έ 개의 μ „κ΅¬μ˜ μƒνƒœκ°€ 바뀐닀. 즉, κΊΌμ Έ www.acmicpc.net πŸ“„ 문제 N개의 μŠ€μœ„μΉ˜μ™€ N개의 전ꡬ가 μžˆλ‹€. 각각의 μ „κ΅¬λŠ” 켜져 μžˆλŠ” μƒνƒœμ™€ κΊΌμ Έ μžˆλŠ” μƒνƒœ 쀑 ν•˜λ‚˜μ˜ μƒνƒœλ₯Ό 가진닀. i(1 < i < N)번 μŠ€μœ„μΉ˜λ₯Ό λˆ„λ₯΄λ©΄ i-1, i, i+1의 μ„Έ 개의 μ „κ΅¬μ˜ μƒνƒœκ°€ 바뀐닀. 즉, κΊΌμ Έ μžˆλŠ” μ „κ΅¬λŠ” μΌœμ§€κ³ , 켜져 μžˆλŠ” μ „κ΅¬λŠ” κΊΌμ§€κ²Œ λœλ‹€. 1번 μŠ€μœ„μΉ˜λ₯Ό λˆŒλ €μ„ κ²½μš°μ—λŠ” 1, 2번 μ „κ΅¬μ˜ μƒνƒœκ°€ λ°”λ€Œκ³ , N번 μŠ€μœ„μΉ˜λ₯Ό ..

[λ°±μ€€] 17471 κ²Œλ¦¬λ§¨λ”λ§ (파이썬)

κ³¨λ“œ β…£ https://www.acmicpc.net/problem/17471 17471번: κ²Œλ¦¬λ§¨λ”λ§ 선거ꡬλ₯Ό [1, 4], [2, 3, 5, 6]으둜 λ‚˜λˆ„λ©΄ 각 μ„ κ±°κ΅¬μ˜ μΈκ΅¬λŠ” 9, 8이 λœλ‹€. 인ꡬ μ°¨μ΄λŠ” 1이고, 이 값보닀 더 μž‘μ€ κ°’μœΌλ‘œ 선거ꡬλ₯Ό λ‚˜λˆŒ μˆ˜λŠ” μ—†λ‹€. www.acmicpc.net πŸ“„ 문제 μ„ κ±°μ—μ„œλŠ” μ΅œλŒ€ν•œ κ³΅ν‰ν•˜κ²Œ 선거ꡬλ₯Ό νšμ •ν•˜λ €κ³  ν•œλ‹€. λ°±μ€€μ‹œλŠ” N개의 κ΅¬μ—­μœΌλ‘œ λ‚˜λˆ„μ–΄μ Έ 있고, ꡬ역은 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€ λ²ˆν˜Έκ°€ 맀겨져 μžˆλ‹€. ꡬ역을 두 개의 μ„ κ±°κ΅¬λ‘œ λ‚˜λˆ μ•Ό ν•˜κ³ , 각 ꡬ역은 두 선거ꡬ 쀑 ν•˜λ‚˜μ— ν¬ν•¨λ˜μ–΄μ•Ό ν•œλ‹€. μ„ κ±°κ΅¬λŠ” ꡬ역을 적어도 ν•˜λ‚˜ 포함해야 ν•˜κ³ , ν•œ 선거ꡬ에 ν¬ν•¨λ˜μ–΄ μžˆλŠ” ꡬ역은 λͺ¨λ‘ μ—°κ²°λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€. ꡬ역 Aμ—μ„œ μΈμ ‘ν•œ ꡬ역을 ν†΅ν•΄μ„œ ꡬ역 B둜 갈 수 μžˆμ„ λ•Œ, 두..

[λ°±μ€€] 1976 μ—¬ν–‰ κ°€μž (파이썬)

κ³¨λ“œ β…£ https://www.acmicpc.net/problem/1976 1976번: μ—¬ν–‰ κ°€μž λ™ν˜μ΄λŠ” μΉœκ΅¬λ“€κ³Ό ν•¨κ»˜ 여행을 κ°€λ €κ³  ν•œλ‹€. ν•œκ΅­μ—λŠ” λ„μ‹œκ°€ N개 있고 μž„μ˜μ˜ 두 λ„μ‹œ 사이에 길이 μžˆμ„ μˆ˜λ„, 없을 μˆ˜λ„ μžˆλ‹€. λ™ν˜μ΄μ˜ μ—¬ν–‰ 일정이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 이 μ—¬ν–‰ κ²½λ‘œκ°€ κ°€λŠ₯ν•œ 것인 www.acmicpc.net πŸ“„ 문제 ν•œκ΅­μ—λŠ” λ„μ‹œκ°€ N개 있고 μž„μ˜μ˜ 두 λ„μ‹œ 사이에 길이 μžˆμ„ μˆ˜λ„, 없을 μˆ˜λ„ μžˆλ‹€. λ™ν˜μ΄μ˜ μ—¬ν–‰ 일정이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 이 μ—¬ν–‰ κ²½λ‘œκ°€ κ°€λŠ₯ν•œ 것인지 μ•Œμ•„λ³΄μž. 쀑간에 λ‹€λ₯Έ λ„μ‹œλ₯Ό κ²½μœ ν•΄μ„œ 여행을 ν•  μˆ˜λ„ μžˆλ‹€. 같은 λ„μ‹œλ₯Ό μ—¬λŸ¬ 번 λ°©λ¬Έν•˜λŠ” 것도 κ°€λŠ₯ν•˜λ‹€. 예λ₯Ό λ“€μ–΄, λ„μ‹œκ°€ 5개 있고, A-B, B-C, A-D, B-D, E-A의 길이 있고, λ™ν˜μ΄μ˜ μ—¬ν–‰ κ³„νšμ΄ E C B..

[λ°±μ€€] 14267 νšŒμ‚¬ λ¬Έν™” 1 (파이썬)

κ³¨λ“œ β…£ https://www.acmicpc.net/problem/14267 14267번: νšŒμ‚¬ λ¬Έν™” 1 μ˜μ„ νšŒμ‚¬μ—λŠ” 맀우 쒋은 λ¬Έν™”κ°€ μžˆλŠ”λ°, λ°”λ‘œ 상사가 직속 λΆ€ν•˜λ₯Ό μΉ­μ°¬ν•˜λ©΄ κ·Έ λΆ€ν•˜κ°€ λΆ€ν•˜μ˜ 직속 λΆ€ν•˜λ₯Ό μ—°μ‡„μ μœΌλ‘œ μΉ­μ°¬ν•˜λŠ” 내리 칭찬이 μžˆλ‹€. 즉, 상사가 ν•œ 직속 λΆ€ν•˜λ₯Ό μΉ­μ°¬ν•˜λ©΄ κ·Έ λΆ€ν•˜ www.acmicpc.net πŸ“„ 문제 μ˜μ„ νšŒμ‚¬μ—λŠ” 맀우 쒋은 λ¬Έν™”κ°€ μžˆλŠ”λ°, 상사가 직속 λΆ€ν•˜λ₯Ό μΉ­μ°¬ν•˜λ©΄ κ·Έ λΆ€ν•˜κ°€ λΆ€ν•˜μ˜ 직속 λΆ€ν•˜λ₯Ό μ—°μ‡„μ μœΌλ‘œ μΉ­μ°¬ν•˜λŠ” 내리 칭찬이 μžˆλ‹€. 즉, 상사가 ν•œ 직속 λΆ€ν•˜λ₯Ό μΉ­μ°¬ν•˜λ©΄ κ·Έ λΆ€ν•˜μ˜ λͺ¨λ“  λΆ€ν•˜λ“€μ΄ 칭찬을 λ°›λŠ”λ‹€. λͺ¨λ“  μΉ­μ°¬μ—λŠ” 칭찬의 정도λ₯Ό μ˜λ―Έν•˜λŠ” μˆ˜μΉ˜κ°€ μžˆλŠ”λ°, 이 수치 λ˜ν•œ λΆ€ν•˜λ“€μ—κ²Œ λ˜‘κ°™μ΄ μΉ­μ°¬λ°›λŠ”λ‹€. 직속 상사와 직속 λΆ€ν•˜κ΄€κ³„μ— λŒ€ν•΄ 주어지고, 칭찬에 λŒ€ν•œ 정보가 ..

[μ•Œκ³ λ¦¬μ¦˜] 이진 탐색 / 이뢄 탐색 (Binary Search)

이진 탐색은 μ •λ ¬λœ λ¦¬μŠ€νŠΈμ— μ μš©ν•  수 μžˆλŠ” κ°„λ‹¨ν•œ 고속 탐색 기법이며, 이뢄 탐색이라고도 λΆˆλ¦°λ‹€. 순차 탐색 리슀트 μ•ˆμ— μžˆλŠ” νŠΉμ •ν•œ 데이터λ₯Ό μ°ΎκΈ° μœ„ν•΄ μ•žμ—μ„œλΆ€ν„° 데이터λ₯Ό ν•˜λ‚˜μ”© ν™•μΈν•˜λŠ” 방법이닀. 이진 탐색 μ •λ ¬λ˜μ–΄ μžˆλŠ” λ¦¬μŠ€νŠΈμ—μ„œ 탐색 λ²”μœ„λ₯Ό μ ˆλ°˜μ”© μ’ν˜€κ°€λ©° 데이터λ₯Ό νƒμƒ‰ν•˜λŠ” 방법이닀. 이진 탐색은 μ‹œμž‘μ , 끝점, 쀑간점을 μ΄μš©ν•˜μ—¬ 탐색 λ²”μœ„λ₯Ό μ„€μ •ν•œλ‹€. 이진 탐색 (이뢄 탐색) μ•Œκ³ λ¦¬μ¦˜ μ •λ ¬λ˜μ–΄ μžˆλŠ” λ¦¬μŠ€νŠΈμ—μ„œ 탐색 λ²”μœ„λ₯Ό μ ˆλ°˜μ”© μ’ν˜€κ°€λ©° 데이터λ₯Ό νƒμƒ‰ν•˜λŠ” 방법이닀. λ°°μ—΄ λ‚΄λΆ€μ˜ 데이터가 μ •λ ¬λ˜μ–΄ μžˆμ–΄μ•Όλ§Œ μ‚¬μš©ν•  수 μžˆλŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. μ‹œμž‘μ , 끝점, 쀑간점(start, end, mid) λ³€μˆ˜ 3개λ₯Ό μ‚¬μš©ν•˜μ—¬ νƒμƒ‰ν•œλ‹€. μ°ΎμœΌλ €λŠ” 데이터와 쀑간점 μœ„μΉ˜μ— μžˆλŠ” 데이터λ₯Ό 반볡적으둜 λΉ„κ΅ν•΄μ„œ μ›ν•˜λŠ” 데..

Algorithm 2023.08.17

[κ°œλ°œμƒμ‹] APIλž€ 무엇인가?

API와 UI UI, APIλŠ” λ‘˜λ‹€ Interface이닀. UI = User Interface API = Application programming Interface μΈν„°νŽ˜μ΄μŠ€ (Interface) μΈν„°νŽ˜μ΄μŠ€(interface)λŠ” 컴퓨터 μ‹œμŠ€ν…œλΌλ¦¬ 정보λ₯Ό κ΅ν•œν•˜λŠ” 곡유 경계λ₯Ό μ˜λ―Έν•œλ‹€, ν„°μΉ˜ 슀크린과 같은 일뢀 컴퓨터 ν•˜λ“œμ›¨μ–΄ μž₯μΉ˜λ“€μ€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 데이터λ₯Ό μ†‘μˆ˜μ‹  ν•  수 있으며, λ§ˆμš°μŠ€λ‚˜ 마이크둠 폰가 같은 μž₯μΉ˜λ“€μ€ 였직 μ‹œμŠ€ν…œμ— 데이터λ₯Ό μ „μ†‘λ§Œ ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. UI (μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€, User Interface) μ‚¬μš©μžμ™€ κΈ°κ³„λ‚˜ μ‹œμŠ€ν…œ 같은 사물이 μ†Œν†΅ν•˜λŠ” 데 도움을 μ£ΌλŠ” λ§€κ°œμ²΄μ΄λ‹€. UIλŠ” 기본적으둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜(μ΄ν•˜ μ•±)을 μ‚¬μš©ν•˜λŠ” μ‚¬μš©μž(user) κ°€ μ‹œμŠ€ν…œμ„ μ œμ–΄ν•  수 있게 ..

[λ°±μ€€] 2437 μ €μšΈ (파이썬)

κ³¨λ“œ β…‘ https://www.acmicpc.net/problem/2437 2437번: μ €μšΈ ν•˜λ‚˜μ˜ μ–‘νŒ” μ €μšΈμ„ μ΄μš©ν•˜μ—¬ 물건의 무게λ₯Ό μΈ‘μ •ν•˜λ €κ³  ν•œλ‹€. 이 μ €μšΈμ˜ μ–‘ νŒ”μ˜ λμ—λŠ” λ¬Όκ±΄μ΄λ‚˜ μΆ”λ₯Ό μ˜¬λ €λ†“λŠ” μ ‘μ‹œκ°€ 달렀 있고, μ–‘νŒ”μ˜ κΈΈμ΄λŠ” κ°™λ‹€. λ˜ν•œ, μ €μšΈμ˜ ν•œμͺ½μ—λŠ” μ €μšΈμΆ”λ“€λ§Œ 놓 www.acmicpc.net πŸ“„ 문제 ν•˜λ‚˜μ˜ μ–‘νŒ” μ €μšΈμ„ μ΄μš©ν•˜μ—¬ 물건의 무게λ₯Ό μΈ‘μ •ν•˜λ €κ³  ν•œλ‹€. μ €μšΈμ˜ ν•œμͺ½μ—λŠ” μ €μšΈμΆ”λ“€λ§Œ 놓을 수 있고, λ‹€λ₯Έ μͺ½μ—λŠ” 무게λ₯Ό μΈ‘μ •ν•˜λ €λŠ” 물건만 μ˜¬λ €λ†“μ„ 수 μžˆλ‹€. λ¬΄κ²Œκ°€ μ–‘μ˜ μ •μˆ˜μΈ N개의 μ €μšΈμΆ”κ°€ μ£Όμ–΄μ§ˆ λ•Œ, 이 좔듀을 μ‚¬μš©ν•˜μ—¬ μΈ‘μ •ν•  수 μ—†λŠ” μ–‘μ˜ μ •μˆ˜ 무게 쀑 μ΅œμ†Ÿκ°’μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. πŸ’‘ 아이디어 그리디 μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. μΆ”μ˜ 무게λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•œλ‹€. 적은 λ¬΄κ²ŒλΆ€ν„° 더해..

728x90
λ°˜μ‘ν˜•