[Java] ๋ฐฑ์ค€ 1939๋ฒˆ - ์ค‘๋Ÿ‰์ œํ•œ

[๋ฌธ์ œ] [ํ’€์ด] ์ด์ค‘ํƒ์ƒ‰ + BFS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๋กœ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://hidelookit.tistory.com/200 [๋ฐฑ์ค€ 1939] ์ค‘๋Ÿ‰์ œํ•œ (์ž๋ฐ”) ๋ฐฑ์ค€ 1939๋ฒˆ ์ค‘๋Ÿ‰์ œํ•œ (์ž๋ฐ”) ์ถœ์ฒ˜ www.acmicpc.net/problem/1939 1939๋ฒˆ: ์ค‘๋Ÿ‰์ œํ•œ ์ฒซ์งธ ์ค„์— N, M(1≤M≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๋‹ค๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์„ธ ์ •์ˆ˜ A, B(1≤A, B≤N), C(1≤.. hidelookit.tistory.com left์— ์ตœ์†Œ๊ฐ’ 0์„ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. right ์— ๋‹ค๋ฆฌ๋“ค์ค‘ ๊ฐ€์žฅ ์ค‘๋Ÿ‰์ด ํฐ๊ฐ’์„ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. (left + right)/2์ธ mid ๊ฐ’๋ถ€ํ„ฐ ํ•ด๋‹น ์ค‘๋Ÿ‰์˜ ์ง์œผ๋กœ ์„ฌ-์„ฌ์„ ์ด๋™ํ• ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ฉฐ, ๋งŒ์•ฝ ์ด๋™ํ• ์ˆ˜ ์žˆ๋‹ค๋ฉด mi..

Algorithm/Baekjoon 2022. 6. 13. 21:14
[Java] ๋ฐฑ์ค€ 1931๋ฒˆ - ํšŒ์˜์‹ค ๋ฐฐ์ •

https://www.acmicpc.net/problem/1931 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net [๋ฌธ์ œ] [ํ’€์ด] ์ฒ˜์Œ์—” "์‹œ์ž‘์‹œ๊ฐ„"๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ›„, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํšŒ์˜ ์กฐํ•ฉ์„ ๊ตฌํ•˜์—ฌ max๊ฐ’์„ ๋ฝ‘์•„๋‚ด๋ ค ํ–ˆ์œผ๋‚˜, ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์งˆ๋ฌธํ•˜๊ธฐ์˜ ๋„์›€์„ ๋ฐ›์•„ "์ข…๋ฃŒ์‹œ๊ฐ„"๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ํ‘ธ๋Š” ๋ฌธ์ œ๋ผ๋Š” ํžŒํŠธ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. - Compatable์„ ์ด์šฉํ•˜์—ฌ ์ข…๋ฃŒ์‹œ๊ฐ„์œผ๋กœ ์ •๋ ฌํ•˜๋ฉฐ, **๋งŒ์•ฝ ์ข…๋ฃŒ์‹œ๊ฐ„์ด ๊ฐ™๋‹ค๋ฉด start์‹œ๊ฐ„์ด ์งง์€์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ 1 4 3 5 0 6 5 7 3 8 5 9 6 10 8 11 8 12 2 13 12 14 (1,4) -> time: 4 ์ด๋ฏ€๋กœ 4๋ณด๋‹ค ์‹œ์ž‘์‹œ๊ฐ„์ค‘ ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€๊ฐ’์ด ๋‚˜์˜ค๋ฉด ..

Algorithm/Baekjoon 2022. 6. 13. 21:07
[์ž๋ฃŒ๊ตฌ์กฐ] Hash(ํ•ด์‹œ)

ํ•ด์‹œ๋ž€? - Hash ํ˜น์€ HashTable์€ ํ‚ค๋ฅผ ๊ฐ’์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ธ, ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. - ์ž„์˜์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ(Key)๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ(Value)๋กœ ๋ณ€ํ™˜์‹œ์ผœ ์ €์žฅ - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” associate array - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ hashing(ํ•ด์‹ฑ)์ด๋ผ ํ•˜๊ณ , ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•ด์‹œํ•จ์ˆ˜ - ํ•ด์‹œ๊ฐ’ ์ž์ฒด๋ฅผ index๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‰๊ท  ๋ณต์žก๋„๊ฐ€ O(1)๋กœ ๋งค์šฐ ๋น ๋ฅด๋‹ค - ๋ณด์•ˆ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ž€? - ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ์ž„์˜์˜ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๊ณ ์ •๋œ ๊ธธ์ด์˜ ํ…Œ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ํ•ด์‹œ ํ•จ์ˆ˜์— ..

CS/Data Structure 2022. 6. 13. 20:27
[๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS

HTTP๋ž€? Hyper Text Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ํ…Œ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฌธ์„œ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. - HTTP๋Š” Request์™€ Response๋ฅผ ์œ„ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ - ๊ธฐ๋ณธ์ ์œผ๋กœ 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉ - TCP/IP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ HTTP์˜ ํŠน์ง• 1. ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ - ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์œผ๋กœ ์„œ๋ฒ„์™€ ์ ‘์†ํ•˜์—ฌ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒ - ์žฅ์  : ๊ฐ„๋‹จํ•˜๊ณ  ์ž์›์ด ์ ๊ฒŒ๋“ฆ - ๋‹จ์  : ์—ฐ๊ฒฐ์ด ์ง€์†์ ์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ฒฐ ์ข…๋ฃŒํ›„ ์ถ”๊ฐ€์ ์ธ ์š”์ฒญ์‹œ ์–ด๋–ค ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ธ์ง€ ์ธ์‹ ๋ถˆ๊ฐ€ ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค, ์„ธ์…˜, ํžˆ๋“  ํผ ํ•„๋“œ ๋“ฑ์„ ์ด์šฉํ•ฉ๋‹ˆ..

CS/Network 2022. 6. 12. 19:36
[๋„คํŠธ์›Œํฌ] TCP์™€ UDP

TCP์™€ UDP๋Š” ์ „์†ก ๊ณ„์ธต์—์„œ ํ†ต์‹  ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. TCP : ์‹ ๋ขฐ์„ฑ, ์—ฐ๊ฒฐ ์ง€ํ–ฅ์  UDP : ๋น„์‹ ๋ขฐ์„ฑ, ๋น„์—ฐ๊ฒฐ์„ฑ, ์‹ค์‹œ๊ฐ„ ํ”„๋กœํ† ์ฝœ์ด๋ž€? ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ, ๋˜๋Š” ์ปดํ“จํ„ฐ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ตํ™˜ ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋Š” ๊ทœ์น™ ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค. TCP๋ž€? Transmission Control Protocal์˜ ์•ฝ์ž๋กœ ์ง์—ญํ•ด๋ณด๋ฉด ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ๋กœ, ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์‹œ์ง€์˜ ํ˜•ํƒœ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ TCP์™€ IP๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉ - IP: ๋ฐ์ดํ„ฐ์˜ ๋ฐฐ๋‹ฌ์„ ์ฒ˜๋ฆฌ - TCP: ํŒจํ‚ท์„ ์ถ”์  ๋ฐ ๊ด€๋ฆฌ ** ํŒจํ‚ท์ด๋ž€? ์ธํ„ฐ๋„ท ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ ๋ฐฐ์ •(๋ผ์šฐํŒ…)์„ ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฐ์ธ ํŒจํ‚ท์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „์†กํ•ฉ๋‹ˆ๋‹ค..

CS/Network 2022. 6. 6. 17:33
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„

https://programmers.co.kr/learn/courses/30/lessons/77484 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„ ๋กœ๋˜ 6/45(์ดํ•˜ '๋กœ๋˜'๋กœ ํ‘œ๊ธฐ)๋Š” 1๋ถ€ํ„ฐ 45๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ 6๊ฐœ๋ฅผ ์ฐ์–ด์„œ ๋งžํžˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ณต๊ถŒ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๋กœ๋˜์˜ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. 1 ์ˆœ์œ„ ๋‹น์ฒจ ๋‚ด์šฉ 1 6๊ฐœ ๋ฒˆํ˜ธ๊ฐ€ ๋ชจ๋‘ ์ผ์น˜ 2 5๊ฐœ ๋ฒˆํ˜ธ programmers.co.kr [๋ฌธ์ œ ํ’€์ด] lottos ๋ฐฐ์—ด์— ์žˆ๋Š” 0์˜ ๊ฐ’๋“ค์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. - lottos๋ฐฐ์—ด์—์„œ ๋‹น์ฒจ ๋ฒˆํ˜ธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด min์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. - lottos๋ฐฐ์—ด์—์„œ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด zero์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. - 0์ด ๋ชจ๋‘ ๋ฏธ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, min์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , 0์ด ๋ชจ๋‘ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ผ๋ฉด min + zero..

Algorithm/Programmers 2022. 6. 5. 21:29
[Java] ๋ฐฑ์ค€ 2461๋ฒˆ - ๋Œ€ํ‘œ ์„ ์ˆ˜

https://www.acmicpc.net/problem/2461 2461๋ฒˆ: ๋Œ€ํ‘œ ์„ ์ˆ˜ ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ•™๊ธ‰์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N๊ณผ ๊ฐ ํ•™๊ธ‰์˜ ํ•™์ƒ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” M์ด ํ•˜๋‚˜์˜ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 ≤ N, M ≤ 1,000์ด๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ค„๋งˆ๋‹ค ํ•œ www.acmicpc.net [๋ฌธ์ œ ํ’€์ด] ์ฒ˜์Œ์—” ๋‹จ์ˆœ ์กฐํ•ฉ์„ ํ†ตํ•ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์ดํ•˜์˜€์ง€๋งŒ, ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ์ธํ•ด ๋‹ค์‹œ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฐ˜์˜ ์„ ์ˆ˜์˜ ๋Šฅ๋ ฅ์น˜๋ฅผ ์šฐ์„  ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ํˆฌํฌ์ธํ„ฐ ๋ฐฉ์‹์ฒ˜๋Ÿผ ๊ฐ ๋ฐ˜์˜ index 0 ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ, 3๊ฐœ์˜ ๋ฐ˜์ค‘ ์ตœ์†Œ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ฐ˜์˜ index๋ฅผ ์˜ค๋ฅธ์ชฝ 1 ์ด๋™์‹œํ‚ค๋ฉฐ ์ฐจ์ด๊ฐ’์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. 12 12 16 16 16 43 43 67 67 67 ..

Algorithm/Baekjoon 2022. 6. 5. 21:20