์ ์ ์ฌ์ ๊ต์ก (๋ฌธ์ ๋ณด๊ธฐ)์ฐ์ ์คํ์ด ๋ฏผ์๋ ํ ๋ฒ์ 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
* 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/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
https://school.programmers.co.kr/learn/courses/30/lessons/42883์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด 19, 12
https://school.programmers.co.kr/learn/courses/30/lessons/42579์ฌ์๋ ์์ ์ ์ฅ๋ฅด ์ ๋ณด๊ฐ ๋ด๊ธด genres ๋ฐฐ์ด, ์ฌ์ ํ์๊ฐ ๋ด๊ธด plays ๋ฐฐ์ด์ด ์๋ค. ์ํ ๋ ธ๋๊ฐ ๋ง์ด ์ฌ์๋ ์ฅ๋ฅด๋ฅผ ๋จผ์ ์๋กํฉ๋๋ค.์ฅ๋ฅด
https://school.programmers.co.kr/learn/courses/30/lessons/1844๊ฒ์ ๋งต์ ์ํ maps๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์บ๋ฆญํฐ๊ฐ ์๋ ํ ์ง์์ ๋์ฐฉํ๊ธฐ ์ํด์ ์ง๋๊ฐ์ผ ํ๋ ์นธ์ ๊ฐ์์ ์ต์๊ฐ์ return ํ๋๋ก s
https://school.programmers.co.kr/learn/courses/30/lessons/43165n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 1, 1, 1,
https://school.programmers.co.kr/learn/courses/30/lessons/84512์ฌ์ ์ ์ํ๋ฒณ ๋ชจ์ 'A', 'E', 'I', 'O', 'U'๋ง์ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋, ๊ธธ์ด 5 ์ดํ์ ๋ชจ๋ ๋จ์ด๊ฐ ์๋ก๋์ด ์์ต๋๋ค. ์ฌ์ ์์