์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ
Computer Science/์ž๋ฃŒ๊ตฌ์กฐ 2021. 10. 7. 23:22

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€? ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์— ์ €์žฅ๋˜์ง€ ์•Š๋Š” ์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋ฉฐ, ๊ฐ ๋…ธ๋“œ๋Š” ํฌ์ธํ„ฐ๋ฅผ ์ด์šฉํ•ด ์„œ๋กœ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์ ‘๊ทผํ•œ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ํŠน์ง• ์žฅ์  ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ์š”์†Œ์˜ ์ˆ˜๋งŒํผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์„ ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ณต๊ฐ„์„ ์ถ”๊ฐ€๋กœ ํ• ๋‹น๋ฐ›๊ฑฐ๋‚˜ ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ๋“ค์˜ ์œ„์น˜๋ฅผ ์ด๋™์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†์–ด์„œ ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ์šฉ์ดํ•˜๋‹ค. ๋‹จ์  ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ํŠน์ • ์ธ๋ฑ์Šค์˜ ์œ„์น˜์— O(1)์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๊ณ  ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์š”์†Œ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผํ•œ๋‹ค. ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ๊ณต๊ฐ„๋„ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค. ์ฝ”๋“œ๋กœ ๋ณด๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋…ธ๋“œ ๊ตฌํ˜„ class Node { private Node left; private Node right; private final int data; ..

์Šคํƒ(Stack)
Computer Science/์ž๋ฃŒ๊ตฌ์กฐ 2021. 10. 6. 22:20

Stack์ด๋ž€? LIFO(Last in First Out, ํ›„์ž… ์„ ์ถœ), ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ํ•œ๊ณณ์œผ๋กœ ์ œํ•œ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ Stack ์˜ˆ์‹œ ์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜์˜ ์ฝœ์Šคํƒ, ์Šคํƒ์ด ๋„˜์น˜๊ฒŒ ๋˜๋ฉด StackOverFlow๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋ฌธ์ž์—ด ์—ญ์ˆœ ์ถœ๋ ฅ, ์—ฐ์‚ฐ์ž ํ›„์œ„ํ‘œ๊ธฐ๋ฒ•๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ”๋“œ๋กœ ์ดํ•ดํ•˜๋Š” Stack class Stack { List list = new ArrayList(); private final int STACK_MAX_SIZE; private int top = 0; public Stack(int STACK_MAX_SIZE) { this.STACK_MAX_SIZE = STACK_MAX_SIZE; } void push(int data) { if(isFull()) return ; list.add(to..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ณด์„ ์‡ผํ•‘ (2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ)
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 9. 15. 22:52

https://programmers.co.kr/learn/courses/30/lessons/67258?language=java ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ณด์„ ์‡ผํ•‘ ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr ๋ฌธ์ œ ์ •๋ฆฌ 1. ์ง„์—ด๋œ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๋ณด์„์„ ์ ์–ด๋„ 1๊ฐœ ์ด์ƒ ํฌํ•จํ•˜๋Š” ๊ฐ€์žฅ ์งง์€ ์—ฐ์†๋œ ๊ตฌ๊ฐ„์„ ๊ตฌํ•˜์„ธ์š”. 2. ๋งŒ์•ฝ ๊ฐ€์žฅ ์งง์€ ์—ฐ์†๋œ ๊ตฌ๊ฐ„์ด ์—ฌ๋Ÿฌ๊ฐœ๋ผ๋ฉด, ๊ฐ€์žฅ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ ๊ตฌ๊ฐ„์„ ๋ฐ˜ํ™˜ํ•˜์„ธ์š”. 3. ์ง„์—ด๋œ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๋ณด์„์„ ์ ์–ด๋„ 1๊ฐœ ์ด์ƒ ํฌํ•จํ•˜๋Š” ๊ตฌ๊ฐ„์€ ๋ฌด์กฐ๊ฑด 1๊ฐœ ์ด์ƒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์™„์ „ ํƒ์ƒ‰ ์ด ๋ฌธ์ œ๋Š” ์šฐ์„  ์ •ํ™•๋„ ํ‰๊ฐ€์™€ ํšจ์œจ์„ฑ ํ‰๊ฐ€๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํšจ์œจ์„ฑ ํ‰๊ฐ€๊ฐ€ ์กด์žฌํ•œ๋‹ค..

[๋„คํŠธ์›Œํฌ] ์†Œ์ผ“๊ณผ ํฌํŠธ
Computer Science/๋„คํŠธ์›Œํฌ 2020. 6. 25. 22:59

ํฌํŠธ๋ž€? ํ˜ธ์ŠคํŠธ์—์„œ ๋™์ž‘ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์‹ค์ œ๋กœ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์•ผํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด์•ผํ•จ ์ด๋•Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ํ˜ธ์ŠคํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›๋Š” ๊ฐ’์„ ํฌํŠธ๋ผ๊ณ  ํ•จ ์†ก์‹  ํ”„๋กœ์„ธ์Šค ๋˜ํ•œ ์‘๋‹ต๋ฐ›๊ธฐ ์œ„ํ•ด ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ํ• ๋‹น ๋ฐ›์•„์•ผ ํ•จ ์†Œ์ผ“์ด๋ž€? ์†Œ์ผ“์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ์—ด์–ด์•ผ ํ•˜๋Š” ์ฐฝ๊ตฌ ๊ฐ™์€ ๊ฒƒ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฝ์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์˜ ์ข…์ฐฉ์  ์†Œ์ผ“์„ ์ด์šฉํ•˜๋ฉด ์‘์šฉ๊ณ„์ธต๋งŒ ์‹ ๊ฒฝ์“ฐ๊ณ  ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Œ

[๋„คํŠธ์›Œํฌ] DNS(Domain Name Service)
Computer Science/๋„คํŠธ์›Œํฌ 2020. 6. 25. 22:11

DNS๋ž€? Domain Name์€ ์ธํ„ฐ๋„ท ์ฃผ์†Œ๋กœ์„œ ์‚ฌ๋žŒ์ด ๊ธฐ์–ตํ•˜๊ธฐ๋Š” ์‰ฝ์ง€๋งŒ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ธฐ์—๋Š” ์–ด๋ ค์›€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์‚ฌ๋žŒ์ด ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ฌธ์ž๋กœ ๋งŒ๋“ค์–ด์ง„ Domain Name์„ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” IP๋กœ ๋ฐ”๊พธ๋Š” ์‹œ์Šคํ…œ ํ•ด๋‹น ์‹œ์Šคํ…œ์˜ ์—ญํ• ์„ ํ•˜๋Š” ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋ฅผ Domain Name Server๋ผ๊ณ  ๋งํ•˜๊ธฐ๋„ ํ•จ DNS๊ฐ€ ์™œ ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ์„๊นŒ? ์ด์ „์—๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ํฌ์ง€ ์•Š๊ณ  ๊ต‰์žฅํžˆ ์ง€์—ญ์ ์ด๋ผ IP์ฃผ์†Œ๋ฅผ HostsํŒŒ์ผ์— ๊ธฐ๋กํ•ด๋†“๊ณ  ์‚ฌ์šฉํ•˜์—ฌ๋„ ์ถฉ๋ถ„ํ–ˆ์—ˆ์Œ ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ปค์ง€๋ฉด์„œ ๋ถˆ๊ฐ€๋Šฅ์— ๊ฐ€๊นŒ์›Œ์กŒ๊ณ  ๊ทธ๋ž˜์„œ ๊ณ ์•ˆ๋œ ๊ฒƒ์ด DNS DNS ๋™์ž‘ ๊ณผ์ • PC ๋ธŒ๋ผ์šฐ์ €์—์„œ "www.naver.com"์„ ์ž…๋ ฅํ•˜๊ฒŒ๋˜๋ฉด PC๋Š” ๋ฏธ๋ฆฌ ์„ค์ •๋˜์–ด ์žˆ๋Š” Local DNS์—๊ฒŒ IP์ฃผ์†Œ๋ฅผ ๋ฌผ์–ด๋ด„ ๋งŒ์•ฝ Local DNS์— IP์ฃผ์†Œ๊ฐ€ ..