๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ: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

visited๋ฐฐ์—ด์ด 3์ฐจ์›์ธ bfs ์ตœ๋‹จ๊ฒฝ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ (๋ฐฑ์ค€ 1600๋ฒˆ)

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

์ด๋ถ„ ๊ทธ๋ž˜ํ”„ (๋ฐฑ์ค€ 1707)

https://www.acmicpc.net/problem/1707 1707๋ฒˆ: ์ด๋ถ„ ๊ทธ๋ž˜ํ”„ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ž˜ํ”„์˜ ์ •์ ์˜ ๊ฐœ์ˆ˜ V์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— www.acmicpc.net ์ด๋ถ„๊ทธ๋ž˜ํ”„ ์ธ์ ‘ํ•œ ์ •์ ๋ผ๋ฆฌ ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ์น ํ•ด์„œ ๋ชจ๋“  ์ •์ ์„ ๋‘ ๊ฐ€์ง€ ์ƒ‰์œผ๋กœ๋งŒ ์น ํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„. ํ’€์ด๋ฅผ ์œ„ํ•œ ์•„์ด๋””์–ด : ์ด๋ถ„๊ทธ๋ž˜ํ”„์˜ ํ•˜๋‚˜์˜ ๊ฐ„์„ ์— ์—ฐ๊ฒฐ๋œ ๋‘ ๋…ธ๋“œ์˜ ์ƒ‰์ƒ์€ ์„œ๋กœ ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ์— ๋Œ€ํ•ด bfs๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ์™€ ์„œ๋กœ ์ƒ‰์ƒ์ด ๋‹ค๋ฅธ์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๋ณ€์ˆ˜ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ์™€ ์ƒ‰์ƒํ™•์ธ์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” int[] chk ๋ฐฐ์—ด์„ ๋’€๋‹ค. -1 : ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ ..

mc.thd
'๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)