๐์ฝ๋ฉํ
์คํธ:CodingTest
๊ตฌํ ์ฝ๋๋ง ๊ฐ๋ตํ๊ฒ ์์ฑ..(์ธ์ฐ๊ธฐ ์ํด์ ๐) ๋ฆฌ์คํธ์ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ผ ํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ณธ ํฌ๋ฉงint N = 5; // ๋ฐ์ดํฐ์ ๊ฐ์ Nint M = 5; // ์ฐพ๊ณ ์ ํ๋ ๋ถ๋ถ ํฉ Mint[] data = {1,2,3,2,5};int cnt = 0;int interval_sum = 0;int end = 0;for(int start=0;start
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฌธ์ : https://www.acmicpc.net/problem/15685 ํ์ด๊ณผ์ 1. ๋๋๊ณค ์ปค๋ธ๋ฅผ ๊ทธ๋ฆฌ๋ ํจ์๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. 1-1. ๋ฆฌ์คํธ๋ฅผ ํ์ฉ ๋๋๊ณค ์ปค๋ธ๋ ํ์ฌ๊น์ง ๋ง๋ค์ด์ง ๋ชจ์์ ๋ฐํ์ผ๋ก ์๋ก์ด ๋ชจ์์ ๋ง๋ค๊ฒ ๋ฉ๋๋ค. ๋ฆฌ์คํธ๋ฅผ ํ์ฉํด์ ๋๋๊ณค ์ปค๋ธ์ ๋ฐฉํฅ์ ๊ตฌํํ์ต๋๋ค. 1-2. 90๋ ํ์ 90๋ ํ์ ์ ๊ฒฝ์ฐ 0 ๋ฐฉํฅ์ 1 1 ๋ฐฉํฅ์ 2 2 ๋ฐฉํฅ์ 3 3 ๋ฐฉํฅ์ 0 ์ด ๋ฉ๋๋ค. (ํ์ฌ๋ฐฉํฅ+1)%4 ์ฐ์ฐ์ ํตํด ์ด๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. static void update_history(){ // g๋ฒ ์ด๋์ํค๊ธฐ for(int i=0;i=0;j--){ history.add((history.get(j)+1)%4); } } } 1-3. ๋ ๋ฒ ์ด๋ ์ํค๊ธฐ ์ ์ฌ๊ฐํ์ ๊ฐฏ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ๋..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฌธ์ : https://school.programmers.co.kr/learn/courses/30/lessons/42587 ํ์ด๊ณผ์ 1. ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฐพ์์ผ ํฉ๋๋ค. ๐์ฐ์ ์์ ํ๋ฅผ ํ์ฉ O(logn)ํ์ฌ ๊ตฌํ ์ ์์ต๋๋ค. 2. ๋ฌธ์ ์ 2๋ฒ ์กฐ๊ฑด์ ๊ตฌํํด์ผ ํฉ๋๋ค. 2๋ฒ ์กฐ๊ฑด์ ๋์์์ ๋ค์ ํ์ ๋ฃ๋ ์์๋ค์ ์์๋ ์ ์ง๋ฉ๋๋ค. ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด (2,1)์ ๋ค๋ก ๊ฐ์ผํ๋๋ฐ ์ด๋ ๋ค๋ก ๊ฐ๋ (2,1)์ ์์๋ ์ ์ง๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ฅผ ํ์ฉํด์ ๊ตฌํํ ํ์ ์์ด ์ฃผ์ด์ง priorities ๋ฐฐ์ด๋ค์ ์์๋๋ก ๋ฌดํ์ํ(?)ํ๋ฉด ๋ฉ๋๋ค. 3. ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ ๋ต์ธ ํด๋น ํ๋ก์ธ์ค๊ฐ ๋ช ๋ฒ์งธ๋ก ์คํ๋๋์ง ํ์
ํด์ผ ํฉ๋๋ค. ๋ฐฐ์ด๋ค์ ๋ฌดํ์ํ(2๋ฒ ํ์ด๊ณผ์ ) ํ๋ฉฐ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฌธ์ ์ถ์ฒ : https://school.programmers.co.kr/learn/courses/30/lessons/42578 ํ์ด๊ณผ์ ์ฒ์์ ์ ๊ทผ : ์ท ์ข
๋ฅ ๋ณ ๊ฐฏ์๋ฅผ ์ ์ฅํ๋ ๋ฐฐ์ด์ ์์ฑํ๊ณ , ๊ทธ ๋ฐฐ์ด์ ๋ฐฑํธ๋ํน์ผ๋ก ํ์ํ๋ฉฐ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด ๊ณ์ฐ์ ์งํํ๋ ค ํ์ต๋๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด ์๊ฐ๋ณต์ก๋๋ฅผ ๋ง์กฑํ ์ ์์์ต๋๋ค. ์๋ก์ด ์ ๊ทผ์ ๋ํ ์๊ฐ : ์ง ๋ถ๋ถ์งํฉ์ ๋ํด ์๊ฐํ์ต๋๋ค. ์ง ๋ถ๋ถ์งํฉ์ ๊ฐฏ์๋ 2^n - 1 ์ด๋ฏ๋ก, ์ด ๋ฌธ์ ์์ ์ต์
์ ๊ฒฝ์ฐ n = 30์ด ๋๋ฏ๋ก ์ฒ์์ ์ ๊ทผ๊ณผ ๊ฐ์ด ์์ ํ์์ ์งํํ๋ฉด ๋น์ฐํ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํ์ด 1. ์ท ์ข
๋ฅ๋ณ๋ก ์ท์ ๊ฐฏ์๋ฅผ + 1 ํด์ค์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ +1์ (์
์ง์์์ ์๋ฏธํฉ๋๋ค) 2. +1๋ ์ท ์ข
๋ฅ๋ณ ์ท์ ๊ฐฏ์๋ค ๋ผ๋ฆฌ์..
๐์ฝ๋ฉํ
์คํธ:CodingTest
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉ ํ
์คํธ ์ฐ์ต, https://school.programmers.co.kr/learn/challenges ํ์ด๊ณผ์ ์ฐ์ ๋ฐฉ์ด ์์ฑ๋๋ ์กฐ๊ฑด์ ๋ํด ํ์
ํด์ผ ํฉ๋๋ค. ๋ฐฉ์ด ์์ฑ๋๋ ์กฐ๊ฑด์ 1. ์ด์ ์ ๋ฐฉ๋ฌธํ๋ ์ ์ ์ ๋ค์ ๋ฐฉ๋ฌธํด์ผ ํจ 2. ์ด์ ์ ์ฐ๊ฒฐํ ์ ๋ถ์ด ์๋ ์๋ก ์๊ธด ์ ๋ถ์ด์ด์ผ ํจ ๊ฐ ์ ์ ์ ๋ํ ๊ทธ๋ํ๋ฅผ ์ฝ๋๋ก ๋ํ๋ด๋ ๊ณผ์ ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋, ๊ธฐ์กด์ ๊ทธ๋ํ ๋ฌธ์ ์ ๋ค๋ฅด๊ฒ ์ธ์ ํ๋ ฌ์ด๋ ์ธ์ ๋ฆฌ์คํธ๋ก๋ ํด๋น ๋ฌธ์ ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. arrows์ ํฌ๊ธฐ๊ฐ 1 ์ด์ 100,000์ดํ๋ผ๋ ์กฐ๊ฑด์ผ๋ก ์ธํด ์ธ์ ํ๋ ฌ์ ๊ฒฝ์ฐ200_001 * 200_001 ์ ํฌ๊ธฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์
๋๋ค. ์๋์ ๊ฐ์ด HashMap ์๋ฃ๊ตฌ์กฐ์ Node ํด๋์ค๋ฅผ ํตํด์ ๊ทธ๋ํ๋ฅผ ๊ตฌํํ ์ ์์ต๋..
๐์ฝ๋ฉํ
์คํธ:CodingTest
์ด๋ถํ์์ ํฌ๊ฒ ์กด์ฌ์ฌ๋ถ๋ฅผ ํ์
ํ๋ ์๊ณ ๋ฆฌ์ฆ, lower bound์ upper bound๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ ๋ ๊ฐ์ง๊ฐ ์๋ค. ์กด์ฌ์ฌ๋ถ๋ฅผ ํ์
ํ๋ ๊ฒฝ์ฐ = ์ค๋ณต์์๋ฅผ ๊ณ ๋ คํ์ง ์์lower bound์ upper bound = ์ค๋ณต์์๋ฅผ ๊ณ ๋ ค์กด์ฌ์ฌ๋ถ ํ์
(์ค๋ณต์์ ๊ณ ๋ คํ์ง ์์)public static int binarySearch(int[] arr, int key) { int lo = 0; // ํ์ ๋ฒ์์ ์ผ์ชฝ ๋ ์ธ๋ฑ์ค int hi = arr.length - 1; // ํ์ ๋ฒ์์ ์ค๋ฅธ์ชฝ ๋ ์ธ๋ฑ์ค while(lo arr[mid]) { lo = mid + 1; } }} ์ค๋ณต์์ ๊ณ ๋ คlower boundprivate static int lowerBound(int[] arr, in..
๐์ฝ๋ฉํ
์คํธ:CodingTest
https://www.acmicpc.net/problem/1600 1600๋ฒ: ๋ง์ด ๋๊ณ ํ ์์ญ์ด์ฒซ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์ ๊ฒฉ์ํ์ ๊ฐ๋ก๊ธธ์ด W, ์ธ๋ก๊ธธ์ด H๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ H์ค์ ๊ฑธ์ณ W๊ฐ์ ์ซ์๊ฐ ์ฃผ์ด์ง๋๋ฐ, 0์ ์๋ฌด๊ฒ๋ ์๋ ํ์ง, 1์ ์ฅ์ ๋ฌผ์ ๋ปํ๋ค. ์ฅ์ ๋ฌผ์ด ์www.acmicpc.net ํ์ด๋ฅผ ์ํ ํต์ฌ๋ง ์ด๋ ํ์์ ๋ฐ๋ฅธ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํฉ๋๋ค. ๋ณดํต ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ visited[][] ์ ๊ฐ์ด 2์ฐจ์ ๋ฐฐ์ด๋ก ์งํํ์ง๋ง, ์ด๋ ๊ฒ ํ๊ฒ๋๋ฉด ๋ง๋ก ์ด๋ํ ์ง์ ์ visited๊ฐ true๋ก ๋์ด ๊ทธ๋ฅ ์ด๋์ด ๋ ์ด์ ์งํํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด (0,0)์์ bfs๋ฅผ ์ํํ๋ฉด (0,1) (1,0) (1,2)๊ฐ ๋ฐฉ๋ฌธ์ฒดํฌ ๋๊ณ ํ์ ๋ค์ด๊ฐ๋๋ค. ์ฌ๊ธฐ์ ํ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
https://www.acmicpc.net/problem/1707 1707๋ฒ: ์ด๋ถ ๊ทธ๋ํ ์
๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ
์คํธ ์ผ์ด์ค๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, ์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ K๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ํ์ ์ ์ ์ ๊ฐ์ V์ ๊ฐ์ ์ ๊ฐ์ E๊ฐ ๋น ์นธ์ ์ฌ์ด์ www.acmicpc.net ์ด๋ถ๊ทธ๋ํ ์ธ์ ํ ์ ์ ๋ผ๋ฆฌ ์๋ก ๋ค๋ฅธ ์์ผ๋ก ์น ํด์ ๋ชจ๋ ์ ์ ์ ๋ ๊ฐ์ง ์์ผ๋ก๋ง ์น ํ ์ ์๋ ๊ทธ๋ํ. ํ์ด๋ฅผ ์ํ ์์ด๋์ด : ์ด๋ถ๊ทธ๋ํ์ ํ๋์ ๊ฐ์ ์ ์ฐ๊ฒฐ๋ ๋ ๋
ธ๋์ ์์์ ์๋ก ๋ฌ๋ผ์ผ ํ๋ค. ๋ชจ๋ ๋
ธ๋์ ๋ํด bfs๋ฅผ ์ํํ๋ฉด์ ์ฐ๊ฒฐ๋ ๋
ธ๋์ ์๋ก ์์์ด ๋ค๋ฅธ์ง ํ์ธํด์ผ ํ๋ค. ๋ณ์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ์ ์์ํ์ธ์ ๋์์ ์ํํ๋ int[] chk ๋ฐฐ์ด์ ๋๋ค. -1 : ์์ง ๋ฐฉ๋ฌธํ์ง ์์ ๋
ธ๋ ..