๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[HSAT 4ํšŒ ์ •๊ธฐ ์ฝ”๋”ฉ ์ธ์ฆํ‰๊ฐ€ ๊ธฐ์ถœ] ํ†ต๊ทผ๋ฒ„์Šค ์ถœ๋ฐœ ์ˆœ์„œ ๊ฒ€์ฆํ•˜๊ธฐ

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

[HSAT 1ํšŒ ์ •๊ธฐ ์ฝ”๋”ฉ ์ธ์ฆํ‰๊ฐ€ ๊ธฐ์ถœ] ๋กœ๋ด‡์ด ์ง€๋‚˜๊ฐ„ ๊ฒฝ๋กœ

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

[PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 2๋ฒˆ / ์„์œ  ์‹œ์ถ”

๋ฌธ์ œ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/250136# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ํ’€์ด๊ณผ์ •๊ฐ ์—ด ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋ฉฐ ํƒ์ƒ‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ด๋ฏธ ๊ณ„์‚ฐ ๋œ ์˜์—ญ์€ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์ œ์ด์…˜์„ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์ œ์ด์…˜์„ ์œ„ํ•ด ์˜์—ญ๋ฒŒ ๋ฒˆํ˜ธ๋ฅผ ํ• ๋‹นํ•˜๊ณ  HashMap์„ ํ™œ์šฉํ•ด ๊ทธ ํฌ๊ธฐ๋ฅผ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์ œ์ด์…˜1. ์„์œ ์ธ ์˜์—ญ(1)์„ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ bfs๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ์˜์—ญ๋ณ„ ๋ฒˆํ˜ธ (์ €๋Š” -1,-2,-3 ... ์Œ์ˆ˜๋กœ ํ‘œ..

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

์™•์‹ค์˜ ๊ธฐ์‚ฌ ๋Œ€๊ฒฐ(์‚ผ์„ฑ sw์—ญ๋Ÿ‰ํ…Œ์ŠคํŠธ)

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

๋ฃจ๋Œํ”„์˜ ๋ฐ˜๋ž€(์‚ผ์„ฑ sw์—ญ๋Ÿ‰ํ…Œ์ŠคํŠธ)

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..

mc.thd
'๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก