ํ๋ก๊ทธ๋จ ์คํ ๋์ค ์์์ ๊ฐ์ ์ ์ฅํด ๋๊ณ ์ฝ์ ์ ์๋ ๊ณต๊ฐ๋ณ์์ ์ ์ธ๊ณผ ์ด๊ธฐํ์ ์ธ : ์ปดํจํฐ์๊ฒ ๋ณ์๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ผ๊ณ ์ ์ธ(์๋ ค์ฃผ๋) ์ญํ ์ด๊ธฐํ : ์ ์ธํ ๋ณ์์ ์ฒ์์ผ๋ก ๊ฐ์ ์ ์ฅํ๋ ๊ณผ์ ๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ๋ฒ : ๋์ ์ฐ์ฐ์ (=) ๋ฅผ ํ์ฉ์ฝค๋ง(,)๋ฅผ ํ์ฉํด
HTML+CSS์ ํจ๊ป ์ฌ์ฉํด client side ์น ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์๋ค.์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก ์คํ์ด ๊ฐ๋ฅํ๋ค.alert ๋ค์ ๋ฐ๋ผ์ค๋ ๊ดํธ ์์ ๋ค์ด์๋ ๋ฉ์์ง๋ฅผ ๋ธ๋ผ์ฐ์ ๊ฒฝ๊ณ ์ฐฝ์ ๋์์ฃผ๋ ๋ช ๋ น์ด1) Javascript ์ฝ๋๋ฅผ ์์ฑํ๋ค.lecture01.js
์นดํ ํ์ฅ (๋ฌธ์ ๋ณด๊ธฐ)์ฃผ์์ด๋ค๋ ์นดํ๋ฅผ ์ด์ํ๋ค. menu, order, k ๊ฐ์ด ์ฃผ์ด์ง ๋, ์ค๋ ํ๋ฃจ ์นดํ์ ๋์์ ์กด์ฌํ ์๋ ์์ ์ต๋๊ฐ์ ๊ตฌํด๋ผ. (๋์๊ฐ์ ๋ฐฉ๋ฌธํ ์๋ ์๊ฐ ๊ฐ์ฅ ๋ง์์ ๋์ ์๋ ์๋ฅผ ๊ตฌํด๋ผ.)menu : ๊ฐ ์๋ฃ์ ์ ์กฐ ์๊ฐ์ ๋ด์ ๋ฐฐ์ด
์ ์ ์ฌ์ ๊ต์ก (๋ฌธ์ ๋ณด๊ธฐ)์ฐ์ ์คํ์ด ๋ฏผ์๋ ํ ๋ฒ์ 2๋ช ์ ์ง์์ ๋ฝ์ ์ ์ ์ฌ์ ๊ต์ก์ ์ํจ๋ค. ์ด๋ ๋ฝํ ๋ ๋ช ์ ์ ์ ์ฌ์์ ๊ฐ์ธ์ ๋ฅ๋ ฅ์น๊ฐ ๋ ์ง์์ ๋ฅ๋ ฅ์น์ ํฉ์ผ๋ก ๊ฐฑ์ ๋๋ค.์ ์ ์ฌ์์ ๋ฅ๋ ฅ์น๋ฅผ ๋ด์ ability ๋ฐฐ์ด๊ณผ ๊ต์ก ์งํ ํ์์ธ number ๊ฐ์ด ์ฃผ์ด
์ค์ต์ฉ ๋ก๋ด (๋ฌธ์ ๋ณด๊ธฐ)command ๋ฌธ์์ด๋ก ๋ค์ ๋ช ๋ น์ด์ ์กฐํฉ์ด ์ฃผ์ด์ง ๋, ๋ช ๋ น์ ๋ฐ๋ผ ์ค์ต์ฉ ๋ก๋ด์ด ์ต์ข ์ด๋ํ ์ขํ๋ฅผ ๊ตฌํด๋ผ.'R': ๋ก๋ด์ด ์ค๋ฅธ์ชฝ์ผ๋ก 90๋ ํ์ ํฉ๋๋ค.'L': ๋ก๋ด์ด ์ผ์ชฝ์ผ๋ก 90๋ ํ์ ํฉ๋๋ค.'G': ๋ก๋ด์ด ํ ์นธ ์ ์งํฉ๋๋ค.'B': ๋ก
์ฑ์ ํ๊ท (๋ฌธ์ ๋ณด๊ธฐ)ํ์ ์(N), ๊ตฌ๊ฐ ์(K)์ ํ์๋ค์ ์ฑ์ , ํ๊ท ์ ๊ตฌํ๊ณ ์ ํ๋ ๊ตฌ๊ฐ์ด ์ฃผ์ด์ง ๋, ํด๋น ๊ตฌ๊ฐ์ ํ์๋ค์ ํ๊ท ์ ์๋ฅผ ๊ตฌํ๋ผ.round() ํจ์๋ฅผ ์ฌ์ฉํด ์์์ n์งธ ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํ ๊ฐ์ ๊ตฌํ ์ ์๋ค. ์๋ ์ฝ๋๋ avg ๋ณ์์ ์ ์ฅ๋
H-Index ๋ฌธ์ ๋ณด๊ธฐ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค.์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด
* n๊ฐ์ ๋ ธ๋๊ฐ ์๋ ๊ทธ๋ํ๊ฐ ์์ต๋๋ค. ๊ฐ ๋ ธ๋๋ 1๋ถํฐ n๊น์ง ๋ฒํธ๊ฐ ์ ํ์์ต๋๋ค. 1๋ฒ ๋ ธ๋์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ธ๋์ ๊ฐฏ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ธ๋๋ ์ต๋จ๊ฒฝ๋ก๋ก ์ด๋ํ์ ๋ ๊ฐ์ ์ ๊ฐ์๊ฐ ๊ฐ์ฅ ๋ง์ ๋ ธ๋๋ค์ ์๋ฏธํฉ๋๋ค. * ๋ ธ๋์ ๊ฐ์ n
2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ ๋ฌธ์ ์ฐธ๊ณ https://leechamin.tistory.com/509
* 1๋ฒ ๋ ธ๋์์ N๊ฐ์ ๊ฐ ๋ ธ๋๋ก ์์ ๋ฐฐ๋ฌ์ ์งํํ๋ค. ์์ ๋ฐฐ๋ฌ ์ ๊ฐ ๋ ธ๋์ ๋๋ฌํ ์ ์๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๊ณ , ํด๋น ์ต๋จ ๊ฒฝ๋ก๊ฐ K ์ดํ์ธ ๋ ธ๋์ ๊ฐ์๋ฅผ answer๋ก ๋ฆฌํดํด๋ผ. * N : ์ด ๋ ธ๋์ ๊ฐ์, K : ๋ฐฐ๋ฌ ๊ฐ๋ฅํ ์ต๋ ๊ฒฝ๋ก * ์์ ์ง์ : ๋ ธ
heapq๋ฅผ ์ฌ์ฉํ ๊ฐ์ ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ์๋ค.1) graph : ์ด์ฐจ์ ๋ฆฌ์คํธ๋ก (node, cost) ํํ์ ๊ฐ์ด ์ ์ฅ๋๋ค. graph ๋ฆฌ์คํธ์ ๊ฐ ์ธ๋ฑ์ค ๋ฒํธ์ ํด๋นํ๋ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋ ธ๋์ ์ ๋ณด๋ค์ ์ ์ฅํ๋ค.2) distance : ์ผ์ฐจ์ ๋ฆฌ์ค
์ต์๊ฐ ๋ง๋ค๊ธฐA, B ๋ ๊ฐ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ง ๋ A์ B ๋ฐฐ์ด์์ ๊ฐ๊ฐ ํ๋์ ์์๋ฅผ ๋ฝ์ ๊ณฑํ ํ, answer ๋ณ์์ ๋์ ํด์ ๋ํ ๊ฐ์ด ์ต์๊ฐ ๋๋ answer ๊ฐ์ ๊ตฌํ๋ผ๋จ, ํ ๋ฒ ์ ํ๋์ด ๊ณฑํด์ง ์ซ์๋ ๋ค์ ์ ํ๋ ์ ์๋ค.A ๋ฐฐ์ด์ ์ต์๊ฐ๊ณผ B ๋ฐฐ์ด์ ์ต๋
๊ธฐ์กด์๋ Colab, Jupyter notebook ๋ฑ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํด ๋ฐ์ดํฐ ๋ถ์์ ์งํํด์๋ค. Jupyter notebook์ ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ์๋ํฐ ํด์ธ Jupyter Lab(์ฃผํผํฐ ๋ฉ)์ ์ฌ์ฉํด ๋ฐ์ดํฐ ๋ถ์์ ์งํํด๋ณด๊ณ ์ ํ๋ค. Jupyter Lab์ ์ค์น
์ฐ์ ์์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์์๋๋ก ์ ๊ฑฐํ๋ ์ ์ ์ ์ถ (FIFO)์ ํน์ฑ์ ๊ฐ์ง ์ผ๋ฐ์ ์ธ ํ์ ์๋ฃ๊ตฌ์กฐ์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ ์ถ๊ฐ๋ ์ด๋ค ์์๋๋ก ํด๋ ์๊ด์ด ์์ง๋ง, ์ ๊ฑฐ๋ ๋๋ ๊ฐ์ฅ ์์ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ ํนํ ํน์ฑ์ ์ง๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.๋ด๋ถ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ๋ ์ํ๋ก
priority queue์ heapq๋ฅผ ๊ฐ๊ฐ ์ฌ์ฉํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ์๋ค. * priority queue๋ ํ ๋ฒ ์คํํ ๋๋ง๋ค thread safety ๊ณผ์ ์ ์งํํ๊ณ , heapq๋ ์งํํ์ง ์๊ธฐ ๋๋ฌธ์ heapq์ ์คํ ์๋๊ฐ priority queue ๋ณด๋ค ๋
https://school.programmers.co.kr/learn/courses/14760/lessons/125485๊ผญ ๋ค์ ํ์ด๋ณผ ๊ฒ!
https://school.programmers.co.kr/learn/courses/14760/lessons/125484์ฒด์ก๋ํ์ ์ข ๋ชฉ๋ณ ๋ฐ ๋ํ๋ฅผ ๋ฝ์ผ๋ ค๊ณ ํ ๋, ์ข ๋ชฉ๋ณ ํ์๋ค์ ๋ฅ๋ ฅ์น ํฉ์ด ์ต๋๊ฐ ๋๋ ๊ฒฝ์ฐ์ ๋ฅ๋ ฅ์น๋ฅผ ๊ตฌํ์ฌ๋ผ.๊ฐ ์ข ๋ชฉ๋ณ ํ์๋ค์ ๋ฅ๋ ฅ์น
https://school.programmers.co.kr/learn/courses/14760/lessons/125483
DFS / BFS์ ์ ์ ๋ฌธ์ ์ด๋ค.https://www.acmicpc.net/problem/2667์ง๋ ์ ์ํํธ ๋จ์ง ๋ชจ์์ ๊ฐ์์ ๊ฐ ๋ชจ์ ๋ณ ๋จ์ง์ ๊ฐ์๋ฅผ ์ถ๋ ฅํด๋ผ.๋จ, ๋จ์ง์ ๊ฐ์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํด๋ผ.๊ณ์ํด์ ํ๋ก๊ทธ๋๋จธ์ค ํ๊ฒฝ์์ ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ์ค๋
https://school.programmers.co.kr/learn/courses/30/lessons/42584์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solut