πŸ“ Computer Science

    [C++] 동적 κ³„νšλ²•(Dynamic Programming)

    동적 κ³„νšλ²•(Dynamic Programming)λ³΅μž‘ν•œ 문제λ₯Ό κ°„λ‹¨ν•œ μ—¬λŸ¬ 개의 문제둜 λ‚˜λˆ„μ–΄ ν‘ΈλŠ” 방법이닀.λ˜‘κ°™μ€ 연산을 λ°˜λ³΅ν•˜μ§€ μ•Šλ„λ‘ λ§Œλ“€μ–΄ μ£Όκ³  μ‹€ν–‰ μ‹œκ°„μ„ 쀄일 수 μžˆλ‹€.μž‘μ€ λ¬Έμ œλ“€μ„ ν’€μ–΄λ‚˜κ°€λ‹€ 보면 이전에 ꡬ해둔 더 μž‘μ€ λ¬Έμ œλ“€μ΄ ν™œμš©λ˜λŠ” 것을 ν™•μΈν•˜κ²Œ λœλ‹€. 이에 λŒ€ν•œ κ·œμΉ™μ„ μ°Ύμ•˜μ„ λ•Œ 점화식을 λ„μΆœν•΄ λ‚΄μ–΄ 동적 κ³„νšλ²•μ— μ μš©ν•œλ‹€. ν’€μ΄λ²•dp[i]κ°€ μ˜λ―Έν•˜λŠ” λ°”dp[i]λ₯Ό initialize ν•˜λŠ” 방법dp[i]의 점화식dp[i]λ₯Ό μ±„μš°λŠ” μˆœμ„œμ •λ‹΅μ΄ μ˜λ―Έν•˜λŠ” λ°” https://jyeonth.tistory.com/7 Leetcode: Word BreakWord Break I Given a non-empty string s and a dictionary wordDict containing a li..

    [C++] 덱(Deque)

    덱(Deque) 큐의 λ³€ν˜•νŒμœΌλ‘œ μ•ž, λ’€ μ–‘μͺ½μ—μ„œ λͺ¨λ‘ μ‚½μž…κ³Ό μ‚­μ œκ°€ κ°€λŠ₯ν•˜λ‹€. 문제 https://www.acmicpc.net/problem/5430 5430번: AC 문제 μ„ μ˜μ΄λŠ” 주말에 ν•  일이 μ—†μ–΄μ„œ μƒˆλ‘œμš΄ μ–Έμ–΄ ACλ₯Ό λ§Œλ“€μ—ˆλ‹€. ACλŠ” μ •μˆ˜ 배열에 연산을 ν•˜κΈ° μœ„ν•΄ λ§Œλ“  언어이닀. 이 μ–Έμ–΄μ—λŠ” 두 가지 ν•¨μˆ˜ R(뒀집기)κ³Ό D(버리기)κ°€ μžˆλ‹€. ν•¨μˆ˜ R은 배열에 μžˆλŠ” 숫자의 μˆœμ„œλ₯Ό λ’€μ§‘λŠ” ν•¨μˆ˜μ΄κ³ , DλŠ” 첫 번째 숫자λ₯Ό λ²„λ¦¬λŠ” ν•¨μˆ˜μ΄λ‹€. 배열이 λΉ„μ–΄μžˆλŠ”λ° Dλ₯Ό μ‚¬μš©ν•œ κ²½μš°μ—λŠ” μ—λŸ¬κ°€ λ°œμƒν•œλ‹€. ν•¨μˆ˜λŠ” μ‘°ν•©ν•΄μ„œ ν•œ λ²ˆμ— μ‚¬μš©ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, "AB"λŠ” Aλ₯Ό μˆ˜ν–‰ν•œ λ‹€μŒμ— λ°”λ‘œ μ΄μ–΄μ„œ Bλ₯Ό μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. www.acmicpc.net #include #include #include usi..

    [C++] 큐(Queue), μš°μ„ μˆœμœ„ 큐(Priority Queue)

    [C++] 큐(Queue), μš°μ„ μˆœμœ„ 큐(Priority Queue)

    큐(Queue) 문제 https://www.acmicpc.net/problem/1966 1966번: ν”„λ¦°ν„° 큐 문제 μ—¬λŸ¬λΆ„λ„ μ•Œλ‹€μ‹œν”Ό μ—¬λŸ¬λΆ„μ˜ ν”„λ¦°ν„° κΈ°κΈ°λŠ” μ—¬λŸ¬λΆ„μ΄ μΈμ‡„ν•˜κ³ μž ν•˜λŠ” λ¬Έμ„œλ₯Ό 인쇄 λͺ…령을 받은 ‘μˆœμ„œλŒ€λ‘œ’, 즉 λ¨Όμ € μš”μ²­λœ 것을 λ¨Όμ € μΈμ‡„ν•œλ‹€. μ—¬λŸ¬ 개의 λ¬Έμ„œκ°€ μŒ“μΈλ‹€λ©΄ Queue 자료�� www.acmicpc.net #include #include #include #include using namespace std; int main() { int t; cin >> t; while (t--) { int n, m; cin >> n >> m; queue q; vector v(n); for (int i = 0; i > v[i]; if (i == m) q.push(m..

    [C++] μŠ€νƒ(Stack)

    [C++] μŠ€νƒ(Stack)

    μŠ€νƒ(Stack) λ¬Έμ œ https://www.acmicpc.net/problem/4949<figure id="og_1588239813760" contenteditable="false" data-ke-type="opengraph" data-og-type="website" data-og-title="4949번: κ· ν˜•μž‘νžŒ 세상" dat..

    HTTP

    HTTP

    1. HTTP(HyperText Transfer Protocol) 1) κ°œλ… μ›Ή μƒμ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ 간에 μš”μ²­/μ‘λ‹΅μœΌλ‘œ μžμ›μ„ 주고받을 λ•Œ μ“°λŠ” ν”„λ‘œν† μ½œμ΄λ‹€. ν΄λΌμ΄μ–ΈνŠΈμΈ μ›ΉλΈŒλΌμš°μ €μ™€ μ„œλ²„λŠ” 주둜 μ›Ή νŽ˜μ΄μ§€(HTML)인 ν…μŠ€νŠΈ κ΅ν™˜μ„ ν•˜λŠ”λ°, λˆ„κ΅°κ°€ λ„€νŠΈμ›Œν¬μ—μ„œ μ‹ ν˜Έλ₯Ό 쀑간에 κ°€λ‘œμ±ˆλ‹€λ©΄ λ‚΄μš©μ΄ λ…ΈμΆœλ˜λŠ” λ³΄μ•ˆ μ΄μŠˆκ°€ μ‘΄μž¬ν•œλ‹€. 평문 톡신이기 λ•Œλ¬Έμ— 도청이 κ°€λŠ₯ν•˜λ‹€. 톡신 μƒλŒ€λ₯Ό ν™•μΈν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μœ„μž₯이 κ°€λŠ₯ν•˜λ‹€. 완전성을 증λͺ…ν•  수 μ—†κΈ° λ•Œλ¬Έμ— λ³€μ‘°κ°€ κ°€λŠ₯ν•˜λ‹€. 80번 포트λ₯Ό μ‚¬μš©ν•œλ‹€. 2) νŠΉμ§• λΉ„μ—°κ²°ν˜•(Connectionless): ν•˜λ‚˜μ˜ μ„Έμ…˜ μ•ˆμ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°€ Request와 Response을 μˆ˜ν–‰ν•˜λ©΄ μ„Έμ…˜μ΄ λŠμ–΄μ§„λ‹€. λ¬΄μƒνƒœμ„±(Stateless): 연결을 λŠλŠ” μˆœκ°„ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œ..

    TCP/IP와 TCP/UDP

    TCP/IP와 TCP/UDP

    1. 인터넷 ꡬ성 μš”μ†Œ 호슀트: λ„€νŠΈμ›Œν¬ κΈ°λŠ₯을 ν¬ν•¨ν•˜λŠ” μ»΄ν“¨ν„°λ‘œ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μˆ˜ν–‰ν•˜λŠ” 주체이닀. λΌμš°ν„°: λͺ©μ μ§€κΉŒμ§€ κ°€μž₯ 졜적의 경둜λ₯Ό μ°Ύμ•„μ„œ μ„œλ‘œ λ‹€λ₯Έ λ„€νŠΈμ›Œν¬μ— μ†ν•œ 호슀트 κ°„μ˜ 데이터 κ΅ν™˜μ΄ κ°€λŠ₯ν•˜κ²Œ ν•΄μ£ΌλŠ” μž₯μΉ˜μ΄λ‹€. 톡신 ν”„λ‘œν† μ½œ: 호슀트-호슀트, 호슀트-λΌμš°ν„°, λΌμš°ν„°-λΌμš°ν„° μ‚¬μ΄μ˜ ν†΅μ‹ ν•˜κΈ° μœ„ν•œ 정해진 μ ˆμ°¨μ™€ 방법이닀. 2. TCP/IP 인터넷에 μ—°κ²°λœ μ„œλ‘œ λ‹€λ₯Έ κΈ°μ’…μ˜ 컴퓨터듀이 데이터λ₯Ό 주고받을 수 μžˆλ„λ‘ ν•˜λŠ” ν‘œμ€€ ν”„λ‘œν† μ½œλ‘œ TCP와 IPλ₯Ό λΉ„λ‘―ν•œ 각쒅 ν”„λ‘œν† μ½œμ„ μ΄μΉ­ν•œλ‹€. ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ λͺ¨λΈ: μ‚¬μš©μžμΈ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”κ΅¬μ— λŒ€μ‘ν•˜μ—¬ λ„€νŠΈμ›Œν¬ μƒμ˜ μ„œλ²„κ°€ μ›Ή νŽ˜μ΄μ§€λ₯Ό 보낸닀. μ λŒ€μ  톡신: 각 톡신이 λ„€νŠΈμ›Œν¬ μƒμ˜ ν•œ 점(호슀트)μœΌλ‘œλΆ€ν„° μ‹œμž‘ν•΄ λ‹€λ₯Έ 점(호슀트)으둜 μ „λ‹¬ν•œλ‹€. 1) ..