๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://softeer.ai/practice/6257/history?questionType=ALGORITHM Softeer - ํ๋์๋์ฐจ๊ทธ๋ฃน SW์ธ์ฌํ๋ณดํ๋ซํผ softeer.ai์ฒ์ ์๊ฐํ ํ์ด๊ณผ์ ์ for๋ฌธ์ ์ธ ๋ฒ ์ฐ๋ ๊ฒ ์ด์๋๋ฐ, O(n^3)์ด์ด์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ ๋ก์ง์ด์์ต๋๋ค.ํ์ด๊ณผ์ i=0 ์ ๊ธฐ์ค์ผ๋ก ๋ก๋๋ค.์ด๋ ๋ฐฐ์ด์ ๋์์ ๋ถํฐ ๋น๊ตํด์ผ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.1๊ณผ 3์ arr[0] ์ ๊ฐ 4๋ณด๋ค ์์ผ๋ฏ๋ก 1์ฉ ๋์ ํด์ค๋๋ค. ๊ทธ ๋ค์ ์์ 5๋ arr[0] ๋ณด๋ค ํฝ๋๋ค. ๋ฐ๋ผ์ 1์ ๋์ ํ์ง ์๊ณ ๊ทธ๋๋ก 2๋ฅผ ์
๋ ฅํฉ๋๋ค.๋ํ arr[0]๋ณด๋ค 5๊ฐ ํฌ๊ธฐ๋๋ฌธ์, ์คํ์ ๋ ฌ์ ์ํํ ์ ์๋ ๊ฒฝ์ฐ ์
๋๋ค.answer ์ ๋์ ๋ ๊ฐ 2๋ฅผ ๋์ ํด์ค๋๋ค. ๊ทธ ๋ค์ ์์ 2๋ arr[..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://softeer.ai/practice/6275/history?questionType=ALGORITHM Softeer - ํ๋์๋์ฐจ๊ทธ๋ฃน SW์ธ์ฌํ๋ณดํ๋ซํผ softeer.ai ํ์ด๊ณผ์ ์ ์ฒด์ ์ธ ํ์ด1. ํ์ ๊ฒฝ๋ก์ ์์์ , ์์ ๋ฐฉํฅ ์ฐพ๊ธฐ2. ์ฐพ์ ๋ฐฉํฅ์ผ๋ก dfsํ์ํ๊ธฐ2-1. ํ์ฌ ๋ฐฉํฅ์ผ๋ก ๋ ์นธ ์ด๋ํ ์ ์๋์ง ํ์ธ2-2. ์ค๋ฅธ์ชฝ์ผ๋ก ํ์ ์ํจ ๋ค, ๋ ์นธ ์ด๋ํ ์ ์๋์ง ํ์ธ2-3. ์ผ์ชฝ์ผ๋ก ํ์ ์ํจ ๋ค, ๋ ์นธ ์ด๋ํ ์ ์๋์ง ํ์ธ ์์ธํ ํ์ด์์์ ์ด ๋ ์ ์๋ ์ขํ1. "#" ์ธ ๋ฌธ์์ด2. ์, ํ, ์ข, ์ฐ "#" ๋ฌธ์์ด์ด ํ๋ ์์ด์ผ ํจ (๋ ๊ฐ ์ด๋ฉด ์๋จ) ์ ๋ ๊ฐ์ง ํน์ง์ ํ์ฉํด์ ๋ชจ๋ ์ขํ์ ๋ํด ํ์ํ๋ฉฐ ์์์ ์ ์ฐพ์์ต๋๋ค.static void find_start(..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/214288 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krํ์ด๊ณผ์ 1. ์ ํ ๋ณ ๋ฉํ ์ ์ซ์ ์กฐํฉ์ ๋ค ๊ตฌํ๊ธฐ (์์ ํ์) 1-1. ์ด๋ n์ ์ต๋ 20์ด๋ฉฐ k๋ ์ต๋ 5์
๋๋ค. ์๋ ์ค๋ช
์ ์ ๋ฆฌ๋ฅผ ํด๋์๋๋ฐ n-1๊ฐ(19)์์ k-1๊ฐ(4)์ ์กฐํฉ์ ๋ฝ๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ 3,876๊ฐ ์
๋๋ค. 1-2. reqs์ ๊ธธ์ด๋ ์ต๋ 300์ด๋ฏ๋ก, ๋ชจ๋ ์กฐํฉ์์ ์ง์ฐ์๊ฐ์ ๊ณ์ฐํ๋ ๊ฒฝ์ฐ๋ 3876*300 =1,162,800 ์
๋๋ค. 1-3. ์ฆ ์์ ํ์ ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/42583 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krํ์ด๊ณผ์ 1. ํ์ ํธ๋ญ์ ์ฌ๋ฆฌ๊ธฐ1-1. ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉด ํธ๋ญ์ ๋ฌด๊ฒ๋ฅผ offer1-2. ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉด 0์ offer (๊ฐ์์ ํธ๋ญ)2. ํ์์ ํธ๋ญ ๋นผ์ฃผ๊ธฐํ์ size๊ฐ bridge_length์ ๊ฐ์์ง๋ค๋ฉด, ์ ์ผ ์์ ํ๋ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๊ฐ ์ ์๋ฏ๋ก q.pollFirst()๋ก ํ์์ ๋นผ์ค์ผ ํฉ๋๋ค.3. truck_weights๋ฐฐ์ด์ ๋ง์ง๋ง ์ธ๋ฑ์ค ํธ๋ญ ๊ณ ๋ คํ๊ธฐ๋ง์ง๋ง ์ธ๋ฑ์ค ํธ๋ญ์ ํ์ ๋ฃ๋ ๊ฒฝ์ฐ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/250136# ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.kr ํ์ด๊ณผ์ ๊ฐ ์ด ๋ง๋ค ํ๋์ฉ ์๋๋ก ๋ด๋ ค๊ฐ๋ฉฐ ํ์์ ์ํํฉ๋๋ค. ์ด๋ ์ด๋ฏธ ๊ณ์ฐ ๋ ์์ญ์ ๋ค์ ๊ณ์ฐํ์ง ์๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ์ด์
์ ํด์ค์ผ ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ด์
์ ์ํด ์์ญ๋ฒ ๋ฒํธ๋ฅผ ํ ๋นํ๊ณ HashMap์ ํ์ฉํด ๊ทธ ํฌ๊ธฐ๋ฅผ ์ ์ฅํ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ด์
1. ์์ ์ธ ์์ญ(1)์ ๋ง๋๊ฒ ๋๋ฉด, ํด๋น ์์ญ์ ํฌ๊ธฐ๋ฅผ bfs๋ก ํ์ธํฉ๋๋ค. ์ด๋, ์์ญ๋ณ ๋ฒํธ (์ ๋ -1,-2,-3 ... ์์๋ก ํ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.codetree.ai/training-field/frequent-problems/problems/royal-knight-duel/description?page=1&pageSize=20 ๊ตฌํ + bfs ํ์ด๊ณผ์ 0. ๋ชจ๋ํ๋ ํจ์๋ฅผ ๋ค ํธ์ถํ๋ solveํจ์. static void solve(int n,int d) { if(knights[n].isOut) return; // 1. ํด๋น ๋ฐฉํฅ์ผ๋ก ์ด๋์ด ๊ฐ๋ฅํ์ง ํ์ธํ๊ธฐ if(!movable(n,d)) return; // 2. ์ด๋์ํค๊ธฐ moved = new boolean[N+1]; move(n, d); moved[n] = false; // ๋ช
๋ น๋ฐ์ n๋ฒ ๊ธฐ์ฌ๋ ์์ง์์์ ์ ์ธ // 3. ๋ฐ๋ฏธ์ง ๊ณ์ฐํ๊ธฐ (๋ช
๋ น์ ๋ฐ์ n๋ฒ ๊ธฐ์ฌ๋ ๋ฐ๋ฏธ์ง..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.codetree.ai/training-field/frequent-problems/problems/rudolph-rebellion/description?page=1&pageSize=20 ์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ
์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์ ๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ
ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์. www.codetree.ai ํ์ด๊ณผ์ ํจ์๋ณ๋ก ๋ชจ๋ํ๋ฅผ ์ ์์ผ์ผํ์ผ๋ฉฐ, ๊ตฌํ๊ณผ์ ์ด ๋ณต์กํ๋ค ๋ณด๋ ์ฒ์ ์์ํ ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ์ ํด์ ์ฌ์ฉํด์ผ ํ์ต๋๋ค. ์ฌ์ฉํ ํด๋์ค์ ๋ณ์ ์ ์ฒด์ ์ธ ์ฐํ์ ๋ฃจ๋ํ์ ์์น๋ 2์ฐจ์ ๋ฐฐ์ด(int[][] map)์ ์ ์ํ์ผ๋ก ์ ์ฅํ๊ณ , ์ธ๋ถ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด์ 2์ฐจ์ ๋ฐฐ์ด(int[][] ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/17822 ํ์ด๊ณผ์ 1. ์ํ์ ํ์ ์ํค๋ ํจ์๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. ArrayList ํน์ LinkedList๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํ ์ ์์ต๋๋ค. add, insert ,remove ํจ์๋ฅผ ํ์ฉํ์ฌ ์ํ์ ํ์ ์ ๊ตฌํํ ์ ์์ต๋๋ค. 2. ์ํ์์ ์ธ์ ํ ์ซ์๋ค ๋ผ๋ฆฌ ์ผ์น์ฌ๋ถ๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. dfs๋ฅผ ํตํด ์ธ์ ์ฌ๋ถ๋ฅผ ๊ตฌํํฉ๋๋ค. ์ธ์ ํ๊ฒ ๋๋ฉด -1๋ก ์์๋ฅผ ๋ณ๊ฒฝํ์ฌ ์ฒดํฌํ์ต๋๋ค. ์ด๋ ๊ฐ์ ์ํ ๋ด์์์ ์ํ(?)๋ฅผ ๊ตฌํํด์ค์ผ ํฉ๋๋ค. ์๋ฅผ๋ค์ด [2,3,4,2] ์ ๊ฐ์ ์ํ์ธ ๊ฒฝ์ฐ ์ ์ผ ์ ์์ 2์ ์ ์ผ ๋ค ์์ 2๋ ์ธ์ ํด ์์ต๋๋ค. ๋ฐ๋ผ์ dfs์ํ ์ค ์ธ๋ฑ์ค๊ฐ -1์ด ๋๋ฉด 3์ผ๋ก, 4๊ฐ ๋๋ฉด 0์ผ๋ก ๋ณด์ ์ ํด์ค์ผ ํฉ๋๋ค. static bo..