๋ฌธ์ : https://school.programmers.co.kr/learn/courses/30/lessons/42897 1. ์๊ฐ ์ด๊ณผ ์ฝ๋ (Java)(1) ์ฝ๋class Solution { public int solution(int[] money) { int answer = 0; int N = money.length; int[][] dp = new int[N+1][2]; for (int i=2; i (2) ์ฑ์ ๊ฒฐ๊ณผ ์ฒ์์๋ ์๋ฐ๋ก ์ ์ถํ๋๋ฐ, ์๊ฐ๋ณต์ก๋๊ฐ O(N)์ธ ์ฝ๋๋ฅผ ์ ์ถํ์์๋ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ฐ์๋ค๐คฏ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ์ธ๊ฐ? ์ถ์ด์ ๊ฐ์ ์ฝ๋๋ฅผ C++๋ก ๋ง๋ค์ด์ ์ ์ถํด๋ดค๋ค. 2. ํต๊ณผ ์ฝ๋ (C++)(1) ์ฝ๋#include #include..
๋ฌธ์ : https://school.programmers.co.kr/learn/courses/30/lessons/214290 ๊ฒฝ์ฌ๊ฐ 1๋ฒ ๋ฐ๋ณต๋๋ ๊ฒฝ๋ก์ ์๋ฅผ ๊ตฌํด์ k๋ฒ ๋ฐ๋ณต๋๋ ๊ฒฝ๋ก์ ์๋ฅผ ๊ตฌํ๋ฉด ๋๋ ๋ฌธ์ ๋ค. 1. ๊ฒฝ์ฌ๊ฐ 1๋ฒ ๋ฐ๋ณต๋๋ ๊ฒฝ๋ก์ ์ ๊ตฌํ๊ธฐ ํ ์นธ์์ ๋ค๋ฅธ ์นธ์ผ๋ก ํด์ง ๊ฑด๋๊ฐ๋ ๊ฒ์ hop์ด๋ผ๊ณ ์นญํ๋ค. dp[startX][startY][endX][endY][hop]: (startX, startY)์์ ์์ํ์ฌ (endX, endY)๊น์ง ์ด๋ํ์ ๋, d[0]~d[hop]๊น์ง์ ๊ฒฝ์ฌ๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ๋ก์ ์ ๋ฌธ์ ์์ ์ฃผ์ด์ง ์์ ๋ฅผ ์๋ก ๋ค์ด๋ณด์. d = [1, -2, -1, 0, 2]์ด๋ค. (1,1)๋ถํฐ (2, 3)๊น์ง๋ d[0]๋ถํฐ d[2]๊น์ง์ ๊ฒฝ์ฌ [-1, -2, -1]๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ๋ก..
๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/118669 2022 ์นด์นด์ค ์ธํด์ญ ๊ธฐ์ถ์ด๋ค. ์ถ์
๊ตฌ์์ ์ถ๋ฐํ์ฌ ์ฐ๋ด์ฐ๋ฆฌ ํ ๊ณณ์ ์ฐ์ ๋ค ์๋์ ์ถ์
๊ตฌ๋ก ๋์์์ผ ํ๋ค. ์ฃผ์ด์ง ๊ฐ์ ๋ค์ ๋ชจ๋ ์๋ฐฉํฅ์ด๊ธฐ ๋๋ฌธ์, ์ฐ๋ด์ฐ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๋์ ์ฐ๋ด์ฐ๋ฆฌ์์ ๋ด๋ ค์ฌ ๋๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ , ํธ๋ ์ฝ์ค์ ์ต์ intensity๋ง ๊ตฌํด์ฃผ๋ฉด ๋๋ค. (์ฌ๋ผ๊ฐ ๋์ intensity) < (๋ด๋ ค์ฌ ๋์ intensity) ๋ผ๋ฉด, ์ฌ๋ผ๊ฐ ์ฝ์ค ๊ทธ๋๋ก ๋ด๋ ค์ค๋ ๊ฒ์ด ๋ ์ด๋์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ฌ๊ธฐ์๋ ์ฐ๋ด์ฐ๋ฆฌ๋ฅผ ์ถ๋ฐ์ ์ผ๋ก ์ก๊ณ , ๋ด๋ ค์ฌ ๋ ๊ธฐ์ค์ผ๋ก intensity๋ฅผ ๊ตฌํ๋ค. ์ถ๋ฐ์ ์์ ์ต์ intensity๋ฅผ ๊ฐ๋ ์ถ์
๊ตฌ ๋
ธ๋๋ฅผ ์ฐพ์์ผ ํ๊ณ , ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์กด์ฌ..
๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/150366 ํ์ด ์ฒ์์๋ ์ฌ์ฉ์ ์ ์ ํด๋์ค๋ฅผ ์ด์ฉํด ํ์๋๋ฐ, ๊ฐ์ด ๋๋ฆฌ๊ฐ ๋์ ์์ ์๋ฃํ์ ์ด์ฉํด ํ์๋ค. ๋ณํฉ๊ณผ ๋ถํ ์ด๋ผ๋ ํค์๋๋ฅผ ๋ณด๊ณ , ์ ๋์จ ํ์ธ๋๋ฅผ ๋ ์ฌ๋ ธ๋ค. ๋ฐฐ์ด ์ ์ธํ๊ธฐ static int N = 50; String[] table = new String[N*N+1]; int[] parent = new int[N*N+1]; ๊ฐ ์
์ ์์ ์ ๊ฐ๊ณผ, ๋ถ๋ชจ ๋
ธ๋์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํด์ผ ํ๋ค. ๋ฐ๋ผ์ ๊ฐ์ ์ ์ฅํ String ๋ฐฐ์ด๊ณผ, ๋ณํฉ๋ ์
์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ intํ ๋ฐฐ์ด์ ์ ์ธํด์ฃผ์๋ค. ํ์ ํฌ๊ธฐ๊ฐ 50x50์ผ๋ก ๊ณ ์ ๋์ด ์์ผ๋ฏ๋ก ๋ฐฐ์ด์ ๊ธธ์ด๋ 50*50+1 = 2501๋ก ์ค..
๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/92343 ํ์ด ํ์ด๋ฐฉํฅ์ ์๋ชป ์ก์์ ๊ณ ์ํ๋ค. ์ฒ์์๋ ๋ฆฌํ ๋
ธ๋๋ถํฐ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ฉด์ ์ ๋
ธ๋์ ๊ฐ๊น์ด ์์๋๋ก ๋์ ์ ์๋ฅผ ๋ถ์ฌํ ๋ค, ์ฐ์ ์์ ํ๋ฅผ ์ด์ฉํด์ ํ์๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ํ๋ฉด 1๋ฒ ๋
ธ๋์ 6๋ฒ ๋
ธ๋๊ฐ ๋์ผํ ์ ์๋ฅผ ๊ฐ๊ฒ ๋๋ค. 2๊ฐ์ ์ ๋
ธ๋๋ฅผ ๋ฐฉ๋ฌธํ ์ ์๋ 1๋ฒ ๋
ธ๋๊ฐ ๋ ์ ๋ฆฌํ ์ ํ์ง์ธ๋ฐ๋ ๋ง์ด๋ค. ๊ทธ๋์ ์ด ๋ฐฉ๋ฒ์ ํ๋ฆฐ ํ์ด๋ผ๋ ๊ฒฐ๋ก ์ ์ป๊ฒ ๋์๋ค. ๊ฒฐ๊ตญ ๊ตฌ๊ธ์ ๋์์ ๋ฐ์๊ณ ..ใ
ใ
ใ
ใ
ใ
์ด๋ฐ ํ์ด๋ฅผ ๋ฐ๊ฒฌํ๋ค. ํต์ฌ์ ๋ฐฉ๋ฌธํ๋ ๋
ธ๋ ๋ชฉ๋ก์ ์ ์ฅํ๋ ๊ฒ์ด๋ค. 1-3-2 ์์๋ก ๋ฐฉ๋ฌธํ์ ๋์ 1-2-3 ์์๋ก ๋ฐฉ๋ฌธํ์ ๋๋ ๋์ผํ ์ํ์ด๋ค. (๋
ธ๋์ ๋ฐฉ๋ฌธ ์์๋ ๋ฌธ์ ..
๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/5052 ํ์ด ์ ๋ ฌ๊ณผ ํธ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํ ์ ์๋ ๋ฌธ์ ์๋ค. ํ์ด๋ฅผ ์ฐพ์๋ณด๋ ํจ์ฌ ์ผ์ค์๋ ๋ฐฉ๋ฒ์ผ๋ก ํผ ๋ถ๋ค๋ ๋ง์๋ค. (1) ์ ํ๋ฒํธ ์ ๋ ฌํ๊ธฐ N = Integer.parseInt(br.readLine()); String[] phoneNumbers = new String[N]; for (int i=0; i NO๋ฅผ ์ถ๋ ฅํ๊ณ ๋ค์ ํ
์คํธ์ผ์ด์ค๋ก ๋์ด๊ฐ 2. ๋ค์ ๋ฌธ์๋ฅผ ๊ฒ์ฌ. ๋ค์ ๋ฌธ์๊ฐ n์ด๋ฉด ๋ค์ ๋
ธ๋๋ child[n]์ด ๋จ 3. ๋ง์ฝ child[n]์ด null๋ฉด ์ ์ธ์คํด์ค ํ ๋นํด์ฃผ๊ธฐ 4. ๋ค์ ๋
ธ๋๋ก ์ด๋ 5. ๋ค์ ๋ฌธ์๊ฐ ์๋ค๋ฉด, ํ์ฌ ๋
ธ๋์ cnt๋ฅผ 1 ์ฆ๊ฐ์ํค๊ธฐ ์์ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๋๋ก ์ฎ๊ธฐ๋ฉด ์ด๋ ๊ฒ ๋๋ค. boolean..