๐์ฝ๋ฉํ
์คํธ:CodingTest
์ ์์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , ํ์์ํ๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค. ํ์ด ์์ 1. ์
๋ ฅ์ ๋ฐํ์ผ๋ก ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑ. (๋
ธ๋ ํด๋์ค๋ฅผ ํ์ฉ) 2. ๋
ธ๋ ํด๋์ค ๋ด๋ถ์ insert ํจ์ ์์ฑ. insert ํจ์ : ์
๋ ฅ๋ ๋
ธ๋์ ๊ฐ์ ํ์ฌ ๋
ธ๋ ๊ฐ๊ณผ ๋น๊ตํ์ฌ, ์ผ์ชฝ ํน์ ์ค๋ฅธ์ชฝ์ ๋ฌ์์ฃผ๋ ํจ์. ์ด๋ insert ํจ์์ ์ฌ๊ทํจ์๋ฅผ ์ ์ฉํด์ผ ํ๋ค. ํด๋น ์์น๊ฐ ๋น์ด์์ผ๋ฉด ํด๋น ์์น์ ๋
ธ๋๋ฅผ ๋ฌ์์ฃผ๊ณ , ๋น์ด์์ง ์๋ค๋ฉด ํด๋น ์์น์ ์๋ ๋
ธ๋์ insertํจ์๋ฅผ ์ฌ๊ทํธ์ถ ์ฝ๋ package com.mincheolsong; import java.io.*; import java.util.*; public class Main { // BOJ 5639๋ฒ ์ด์ง ๊ฒ์ ํธ๋ฆฌ static class Node{ int num; N..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ค์ต์คํธ๋ผ๋ก ํ ์ ์๋ ๋ฌธ์ ์ํฉ ํ ์ง์ ์์ ๋ค๋ฅธ ํ ์ง์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก ํ ์ง์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก ๋ชจ๋ ์ง์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก ํด๋น ๋ฌธ์ ๋ ํ ์ง์ ์์ ๋ค๋ฅธ ํ ์ง์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํด์ผ ํ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ๊ทธ๋ํ๋ก ๋ฐ๊พธ๋๊ฒ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ค. ์๋น์ด๋ ์์น X์์ -1, +1, *2 ๋ก ์์ง์ผ ์ ์์ผ๋๊น ์์น X๋ฅผ ๋
ธ๋๋ผ๊ณ ์๊ฐํ์ ๋ X-1, X+1, X*2 ๋ฅผ ์ฐ๊ฒฐ๋ ๋
ธ๋, ๊ฐ์ค์น๋ ๋ฌธ์ ์์ ์ฃผ์ด์ง (1, 1, 0) ์ผ๋ก ์๊ฐํ๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ (์ฐ์ ์์ํ ํ์ฉ) ์ฝ๋ package com.mincheolsong; import java.io.*; import java.util.*; public class Main { // boj 13549 ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
ํธ๋ฆฌ์ ์ง๋ฆ์ด๋ ํธ๋ฆฌ์์ ์์์ ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ์ค ๊ฐ์ฅ ๊ธด ๊ฒ์ด๋ค. ๊ฒฐ๋ก ์์์ ์ ์ ์์ ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ๊ธด ๋
ธ๋๋ฅผ ์ฐพ๋๋ค. (dfs ํ ๋ฒ) ์ฐพ์์ง ๋
ธ๋์์ ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ๊ธด ๋
ธ๋๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ฉด ๋๋ค. (dfsํ ๋ฒ) (์ด dfs ๋ ๋ฒ์ ํธ๋ฆฌ์ ์ง๋ฆ์ ์ฐพ์ ์ ์๋ค) ์ค๋ช
์ ํธ๋ฆฌ์ ๊ฒฝ์ฐ 1 - 3 - 4 - 5 ๊ฐ ํธ๋ฆฌ์ ์ง๋ฆ(ํธ๋ฆฌ์์ ์์์ ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ์ค ๊ฐ์ฅ ๊ธด ๊ฒ) ๊ฒฝ๋ก๊ฐ ๋๋ค. ์ฌ๊ธฐ์ ํธ๋ฆฌ์ ์ง๋ฆ์ด ๋๋ ์ ๋ ๋
ธ๋๋ 1๊ณผ 5์ด๋ค. ์ด ๋ ์์์ ์ ์ ์์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ธด ๋
ธ๋๋ 1 ํน์ 5๋ฅผ ๋ฐ๋์ ์ง๋๊ฒ ๋๋ค. 1์์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ธด ๊ฒฝ๋ก : 1 - 3 - 4 - 5 2์์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ธด ๊ฒฝ๋ก : 2 - 4 - 5 3์์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ธด ๊ฒฝ๋ก : 3 - 4 - 5 4์์ ๊ฑฐ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ชจ๋ ๋
ธ๋์์ ๋ค๋ฅธ ๋ชจ๋ ๋
ธ๋๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๋ชจ๋ ๊ณ์ฐํจ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋จ๊ณ๋ณ๋ก ๊ฑฐ์ณ ๊ฐ๋ ๋
ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๋ค์ต์คํธ๋ผ์ ๋ค๋ฅด๊ฒ ๋งค ๋จ๊ณ๋ง๋ค ๋ฐฉ๋ฌธํ์ง ์์ ๋
ธ๋ ์ค์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๋ ๋
ธ๋๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด ํ์ํ์ง ์์. 2์ฐจ์ ํ
์ด๋ธ์ ์ต๋จ ๊ฑฐ๋ฆฌ ์ ๋ณด๋ฅผ ์ ์ฅ DP ์ ํ์ ์ํจ (์ ํ์์ ๋ง๊ฒ 3์ค FOR๋ฌธ์ ์ด์ฉํด์ 2์ฐจ์ ํ
์ด๋ธ์ ๊ฐฑ์ ) ๋
ธ๋์ ๊ณ์๊ฐ ๋ฐ์ง๊ทธ๋ํ(์์ ๊ทธ๋ํ์ ๊ฐ๊น์ด ๊ทธ๋ํ)์ธ ๊ฒฝ์ฐ ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ์ด ํจ์จ์ ์ด๋ค. ๋ฐ์ง๊ทธ๋ํ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์ต์คํธ๋ผ๋ฅผ n๋ฒ ๋๋ฆฌ๋๊ฒ ๋น ๋ฅด๋ค O(n^3)์ ์๊ฐ๋ณต์ก๋๋ก ๋ค์ต์คํธ๋ผ(์ธ์ ํ๋ ฌ์ ์ฌ์ฉํ ๊ฒฝ์ฐ)์ ์๊ฐ๋ณต์ก๋์ ๋์ผํ๋ค N์ด 100์ด๋ฉด → 100๋ง์ด์ด์ ๊ฐ๋ฅ, 500์ด์ด๋ → 1์ต 2์ฒ 500๋ง ์ด์ด์ tryํด๋ณผ ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
dp๋ก ํธ๋ ๋ฌธ์ . ์๊ฒ๋ ์ ์ ํ์์ ์ธ์ธ ๋ arr[r][c]๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ์ ํฌํจํ์ง ์๋ ๊ฒฝ์ฐ๋ง ์๊ฐํ์ง ๋ง์ ์ด๋ฒ ๋ฌธ์ ๋ arr[r][c]๋ฅผ ๋ฝ์ ์ ์๋ ์ด์ ์์น๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค! dp๋ ์ต์ ํด์ ๋ถ๋ถ์ต์ ํด๋ฅผ ์๊ฐํ๋ฉฐ ์ ํ์์ ์ธ์์ผ ํ๋ค. ์ฒ์ ์ ๊ทผ๋ฐฉ์ arr[r][c] ์ ์คํฐ์ปค๋ฅผ ๋ผ๋ ๊ฒฝ์ฐ์ ๋ผ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ ์ ํ์์ ์ธ์ฐ๋ ค๊ณ ํ๋ค. ์ฌ๋ฐ๋ฅธ ์ ๊ทผ๋ฐฉ์ arr[r][c]์ ์คํฐ์ปค๋ฅผ ๋ ์ ์๋ ๊ฒฝ์ฐ๋ง ๊ณ ๋ คํ๊ณ , arr[r][c] ์คํฐ์ปค๋ฅผ ๋ ์ ์๋ ์ด์ ์์น (arr[1][c-1] or arr[1][c-2] ํน์ arr[0][c-1] or arr[0][c-2]) ๋ฅผ ๋ถ๋ถ์ต์ ํด๋ก ๋ณด๋ ๊ฒ ์ด์๋ค. ์ ํ์ r=0์ธ ๊ฒฝ์ฐ dp[r][c] = max{dp[1][c-1], dp[1][c..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค ๋ฌธ์ ๋ฅผ ํ๋ค ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๋ฅผ ๋ง๋จ.. ๋ถ๋ช
๋ค๋ฅธ์ฌ๋ ์ฝ๋์ ๊ฐ์๋ฐ, ์ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋๋์ง ์ด์ํ๋ค. ์ด์ ๋ bfs ๋ฐฉ๋ฌธ์ฒดํฌ ์์น๋ฅผ ์ ๋ชป ํด์ ๊ฒฐ๋ก : ํ์ ์ฝ์
ํ๋ ์๊ฐ์ ๋ฐฉ๋ฌธ์ฒดํน์ ํด์ ์ค๋ณต์ ๋ฐฉ์งํ์ ์๋ชป๋ ๋ฐฉ๋ฌธ์ฒดํฌ ์์น (ํ๋ฅผ ๋ฝ๋ ์๊ฐ ๋ฐฉ๋ฌธ์ฒดํฌ) ์๋ ์ฝ๋๋ ๋ฌธ์ ์ ์ฌ์ฉ๋ bfsํจ์ ์ผ๋ถ๋ถ์
๋๋ค static boolean move(){ Queue tmp = new LinkedList(); while(!bq.isEmpty()){ int[] c = bq.poll(); int cr = c[0], cc=c[1]; if(cr==er && cc == ec){ return true; } chk[c[0]][c[1]]=true; // ๋ฐฉ๋ฌธ์ฒดํฌ for(int d=0;d
๐์ฝ๋ฉํ
์คํธ:CodingTest
์ฌ์ฉ์ธ์ด : PYTHON ํ์ด 1. ํ ์ฐ์ ๋ฐฉํฅ์ผ๋ก ํ์์ ์งํํ๋ค 0์ธ ๊ณณ์ ๋ง๋๋ฉด BFS๋ฅผ ์ํ(์ฐ์์ ์ผ๋ก ํด๋ฆญ)ํ๋ฉฐ ์ ๋ต(ans)๋ฅผ 1์ฆ๊ฐ ์ด๋ 0์ผ๋ก ์ธํด ์ฐ์์ ์ผ๋ก ํด๋ฆญ๋ ๊ณณ์ -๋ก ํ์ 2. ํ ์ฐ์ ๋ฐฉํฅ์ผ๋ก ๋ค์ ํ์ํ๋ฉฐ ์ฐ์์ ์ผ๋ก ํด๋ฆญ๋์ง ์์ ๊ณณ์ ๊ฐฏ์๋งํผ ์ ๋ต(ans)์ ์ถ๊ฐ ์ฝ๋ import sys from collections import deque input = sys.stdin.readline # SWEA ํํํํ ์ง๋ขฐ์ฐพ๊ธฐ # 1. ์ ์ฒด๋ฅผ ํ์ํ๋ค 0์ ๋ง๋๋ฉด BFS ์ํ (๋ฐฉ๋ฌธ์ฒดํฌ), cnt += 1 # 2. ์ฒดํฌ ๋์ง ์์ ์นธ ์ธ๊ธฐ def click(r, c): # ํด๋ฆญ์ ์ํํ๊ณ (์ค๋ณต ํด๋ฆญ์ ์ํํ์ง ์์), 0์ด๋ฉด True๋ฅผ ๋ฆฌํดํ๋ ํจ์ if arr[r][c] == '..
๐์ฝ๋ฉํ
์คํธ:CodingTest
swea 3304 ์ต์ฅ ๊ณตํต ๋ถ๋ถ ์์ด ์ฌ์ฉ์ธ์ด : PYTHON ํ์ด ์ฐ์ ์ต์ ํด(์ต๋๊ฐ)์ ๊ตฌํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ์ฌ ํ ์ ์๋ค. ์ํ์(์ ํ์)์ ์ธ์ธ๋๋ "์ต์ ํด์ ์ผ๋ถ๋ถ์ด ๊ทธ ๋ถ๋ถ์ ์ต์ ํด" ๋ฅผ ์๊ฐํด์ผ ํ๋ค. ์ด ๋ฌธ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ๋ ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์ฌ ์ํ์์ ์ธ์์ผ ํ๋ค. (DP(i,j)์์ i์ j๋ ๋ฌธ์์ด X์ Y์ 1...i, 1...j ๋ฒ์งธ๊น์ง์ ๋ฌธ์์ด) (1) ๋ ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ์๋ฅผ๋ค์ด CDABE์ CDE๋ผ๊ณ ๊ฐ์ ํด๋ณด๋ฉด ๋ง์ง๋ง ๋ฌธ์ E๊ฐ ๊ฐ๋ค. E๋ ์ต์ฅ ๊ณตํต ๋ถ๋ถ์์ด์ ๋ฐ๋์ ํฌํจ๋๋ค. ๋ฐ๋ผ์ ์ต์ฅ ๊ณตํต ๋ถ๋ถ์์ด์ ๊ธธ์ด๋ ๋ ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์ E๋ฅผ ์ ๊ฑฐํ ํ ์ฐพ์ ์ต์ฅ ๊ณตํต ๋ถ๋ถ์์ด์ ๊ธธ์ด +..