[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/64064 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์šฐ์„  banned_id[]๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ ๊ฐ banned_id์— ๋Œ€์‘๋  ์ˆ˜ ์žˆ๋Š” user_id๋“ค์˜ index๊ฐ’์„ bandList.get(index)์— ์ €์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ban์ด ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์ธ์ง€ boolean banned(String ban, String name)์„ ํ†ตํ•ด *๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋“ค์„ ๋น„๊ตํ•˜๋ฉฐ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ1์„ ์˜ˆ์‹œ๋กœ ์‚ดํŽด๋ณด๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด banList๊ฐ€ ์ดˆ๊ธฐํ™”..

Algorithm/Programmers 2022. 7. 12. 18:25
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํŠœํ”Œ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/64065?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] String ํ˜•์‹์œผ๋กœ ์ž…๋ ฅ๋˜๋Š” ์ง‘ํ•ฉ์˜ ๋ฌถ์Œ s๋ฅผ ๋ฌธ์ž์—ด ํ•จ์ˆ˜๋“ค๋กœ ์ชผ๊ฐœ์–ด ๊ฐ ์ง‘ํ•ฉ์„ ArrayList์— ๋‹ด๊ณ  ๋‚˜์„œ ์ด๋ฅผ ํฌ๊ธฐ ์ˆœ์œผ๋กœ ์ €์žฅ ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผํ•ด๋ณธ ๊ฒฐ๊ณผ, Comparable์„ ์ƒ์†๋ฐ›์€ Class๋ฅผ ์ด์šฉํ•ด ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. Tuple ํด๋ž˜์Šค Tuple ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ง‘ํ•ฉ์„ ์ €์žฅํ•  set๊ณผ ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ size๋ฅผ ์„ ์–ธํ•ด์ค๋‹ˆ๋‹ค. com..

Algorithm/Programmers 2022. 7. 12. 17:39
[๋„คํŠธ์›Œํฌ] ์ฟ ํ‚ค(Cookie), ์„ธ์…˜(Session)์ด๋ž€?

Web๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ์›น ํ†ต์‹ ์„ ์œ„ํ•œ ์ €์žฅ์†Œ์ธ ์ฟ ํ‚ค์™€ ์„ธ์…˜์„ ๋งˆ์ฃผ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์ด๋Ÿฌํ•œ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋ฅผ ์•Œ๊ธฐ์œ„ํ•ด HTTP์˜ ํŠน์ง•์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. **HTTP์™€ HTTPS์˜ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. https://j-su2.tistory.com/16?category=1016208 [๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS HTTP๋ž€? Hyper Text Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ํ…Œ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฌธ์„œ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. - HTTP๋Š” Request์™€ R j-su2.tistory.com HTTP์˜ ํŠน์ง• HTTP ํ†ต์‹ ๊ทœ์•ฝ์€ Connectionlessํ•˜๊ณ  Stat..

CS/Network 2022. 7. 11. 23:11
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ ๋ณดํ†ต ์–ธ์–ด๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ”์šฉ์ ์ธ ์šฉ๋„๋กœ ์„ค๊ณ„๋˜๋Š” ๋ฐ˜๋ฉด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›นํŽ˜์ด์ง€์˜ ๋‹จ์ˆœํ•œ ๋ณด์กฐ ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œํ•œ์ ์ธ ์šฉ๋„๋กœ ํƒ„์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 1995๋…„, ์›น ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ์„ ์ง€๋ฐฐํ•˜๋˜ ๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ๊ฐ€ ๋ธŒ๋ Œ๋˜ ์•„์ดํฌ๊ฐ€ ๊ฐœ๋ฐœํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„์ž…ํ•˜๋ฉฐ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ์—” ๋ชจ์นด๋กœ ๋ช…๋ช…๋˜์—ˆ์œผ๋‚˜ ์ถ”ํ›„ ๋ผ์ด๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฑฐ์ณ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ๋Š” ์ตœ์ข… ์ด๋ฆ„์ด ํƒ„์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์˜ ํ‘œ์ค€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž๋ฆฌ์žก์•˜์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉฐ ๋ช…์‹ค์ƒ๋ถ€ํ•œ ๋ฒ”์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ ์„ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™” 1996๋…„ 8์›”, ๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ์™€ ๊ฒฝ์Ÿ์‚ฌ์˜€๋˜ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŒŒ์ƒ ๋ฒ„์ „์ธ JScript๋ฅผ I..

[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์Šคํƒ์„ ์ด์šฉํ•˜์—ฌ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ board์˜ ํฌ๊ธฐ๊ฐ€ N ์ด๋ผ๋ฉด, N + 1 ํฌ๊ธฐ์˜ ์Šคํƒ๋ฐฐ์—ด Stack์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. 1~N๊นŒ์ง€ ์ธํ˜•๋ฝ‘๊ธฐ ๊ธฐ๊ณ„ ๋ชจ์–‘์„ stack[1] ~ stack[N] ์— ์ €์žฅํ•˜๊ณ , ๋ฝ‘ํžŒ ์ธํ˜•๋“ค์„ ๋‹ด๋Š” ์ž„์‹œ stack์€ stack[0]์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ์€ FIFO์˜ ํŠน์„ฑ์„ ์ง€๋‹ˆ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— for๋ฌธ์„ ํ†ตํ•ด ์Šคํƒ์— board..

Algorithm/Programmers 2022. 7. 11. 16:25
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์บ์‹œ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/17680?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์šฐ์„  ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ LRU ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. LRU๋Š” Least Recently Used์˜ ์•ฝ์ž๋กœ, ์ฆ‰ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ์บ์‹œ๋ฅผ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์บ์‹œ์˜ ์—ฌ์œ  ์ €์žฅ๊ณต๊ฐ„์ด ์—†๊ณ , ์บ์‹œ์— ํ•ด๋‹น ๊ฐ’์ด ์—†๋‹ค๋ฉด ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜๋˜ ์บ์‹œ๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์บ์‹œ๊ฐ€ ์ฐธ์กฐ๋œ ์‹œ๊ฐ„๋ณ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ..

Algorithm/Programmers 2022. 7. 7. 21:04
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋™๊ตด ํƒํ—˜

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/67260 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ํ’€์ด์˜ ํ•ต์‹ฌ์€, ํ•œ๋ฒˆ ์ง€๋‚˜์˜จ ๋…ธ๋“œ๋ผ๋ฉด ์ดํ›„ ์„ ์ˆ˜๋กœ ๋‚˜์™€์•ผํ•˜๋Š” ์ˆซ์ž๋ฅผ ํ†ตํ•ด ์ž ๊น€ ํ•ด์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ bfs()๋ฅผ ํ†ตํ•ด ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ, visit[][]๋ฅผ ํ†ตํ•ด ์ง€๋‚˜์˜จ ๋…ธ๋“œ๋“ค์˜ ๋ฐฉ๋ฌธ์„ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์„ ์ˆ˜์กฐ๊ฑด์ด ์—†๊ฑฐ๋‚˜ ์„ ์ˆ˜์กฐ๊ฑด์„ ํ†ตํ•ด ์ž ๊ธˆ์ด ํ•ด์ œ๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ์œผ๋ฉฐ ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ๋“ค์„ ๋ชจ๋‘ ๋ฐฉ๋ฌธํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ํ์— ๋“ค์–ด๊ฐ”๋˜ ๋…ธ๋“œ๋“ค์€ Array..

Algorithm/Programmers 2022. 7. 7. 20:50