๋ฐ˜์‘ํ˜•

๐ŸŽฏ Coding Test 17

[๋ฐฑ์ค€] 1932๋ฒˆ ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ์ž๋ฐ” DP

๋ชฉ์ฐจ ๋ฌธ์ œ https://www.acmicpc.net/problem/1932 ํ’€์ด ์ผ๋‹จ ๊ฐ ํ–‰์—์„œ ์ตœ๋Œ€๊ฐ’์„ ์„ ํƒํ•ด์„œ ํ’€๋ฉด ์ •๋‹ต์ด ๋‚˜์˜ค๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž 7 -> 8 -> 1 -> 7 -> 5 = 28 ์ •๋‹ต์ธ 30๋ณด๋‹ค ์ž‘๋‹ค. ์ด๋ ‡๊ฒŒ ํ’€๋ฉด ํ‹€๋ฆฌ๊ฒŒ๋œ๋‹ค. DP๋ฌธ์ œ๋Š” ์ ํ™”์‹์„ ์„ธ์›Œ์„œ ํ’€์–ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋˜ํ•œ ์ด๋ ‡๊ฒŒ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํŒŒ์•…ํ•ด์„œ "์ตœ์†Œ๊ฐ’", "์ตœ๋Œ€๊ฐ’"์„ ์ฐพ๊ฒŒ๋˜๋ฉด ๊ฐ’์„ ๋ˆ„์ ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ผ๋‹จ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ์ ํ™”์‹์„ ์ด๋Œ์–ด๋‚ธ๋‹ค. ์ฃผํ™ฉ์ƒ‰ ๋ถ€๋ถ„์€ 2๊ฐ€์ง€ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ€๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. ์ ํ™”์‹ (x, y) A. [x][y] = [x-1][y-1] + [x][y] B. [x][y] = [x-1][y] + [x][y] 1. x-1 < 0 ์ธ ๊ฒฝ์šฐ๋Š” ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค..

[๋ฐฑ์ค€] 9095๋ฒˆ 1, 2, 3 ๋”ํ•˜๊ธฐ ์ž๋ฐ” DP

๋ชฉ์ฐจ https://www.acmicpc.net/problem/9095 9095๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฌธ์ œํ’€์ด ์‹œ๊ฐ„์ œํ•œ์ด 1์ดˆ์ด๋ฏ€๋กœ ์ผ๋ฐ˜์ ์ธ for๋ฌธ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. DP๋กœ ํ’€์–ด๋ณด๊ฒ ๋‹ค. ์ •์ˆ˜ n์€ ์–‘์ˆ˜์ด๋ฉฐ 11๋ณด๋‹ค ์ž‘๋‹ค. 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์•ผํ•œ๋‹ค. [0]~[10]์ธ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ–ˆ๋‹ค๊ณ ํ•˜์ž. [0]์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ž˜ ์‚ดํŽด๋ณด๋ฉด [2]๋Š” [1]์— +1์„ ๋”ํ•œ๊ฐ’๊ณผ ์ž๊ธฐ์ž์‹ ์ธ 2๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  [3]์€ [2]์— +1์„ ๋”ํ•œ๊ฐ’๊ณผ ์ž๊ธฐ์ž์‹ ์ธ 3์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. [4]๋Š” [3]+1, [2]+2, [1]+3์„ ๋”ํ•œ๊ฐ’์„ ๊ฐ€์ง€๊ณ ์žˆ์ง€๋งŒ ์ž๊ธฐ์ž์‹ ์ธ "4"๋Š” ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธ๋˜์—ˆ๋‹ค. [..

[๋ฐฑ์ค€] 1074๋ฒˆ Z ์ž๋ฐ” (๋ถ„ํ• ์ •๋ณต)

๋ชฉ์ฐจ https://www.acmicpc.net/problem/1074 1074๋ฒˆ: Z ํ•œ์ˆ˜๋Š” ํฌ๊ธฐ๊ฐ€ 2N ร— 2N์ธ 2์ฐจ์› ๋ฐฐ์—ด์„ Z๋ชจ์–‘์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2ร—2๋ฐฐ์—ด์„ ์™ผ์ชฝ ์œ„์นธ, ์˜ค๋ฅธ์ชฝ ์œ„์นธ, ์™ผ์ชฝ ์•„๋ž˜์นธ, ์˜ค๋ฅธ์ชฝ ์•„๋ž˜์นธ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•˜๋ฉด Z๋ชจ์–‘์ด๋‹ค. N > 1์ธ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์„ www.acmicpc.net ๋ฌธ์ œํ’€์ด ์‹œ๊ฐ„์ดˆ๊ณผ ๋ณด๋“œ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ 4๋“ฑ๋ถ„ํ•˜์—ฌ Z ๋ชจ์–‘์œผ๋กœ ์ฝ์–ด์•ผํ•œ๋‹ค. ๋ถ„ํ• ์ •๋ณต์„ ์ƒ๊ฐํ•ด์„œ ํ’€์—ˆ์ง€๋งŒ.. ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํƒ์ƒ‰ ๋ฒ”์œ„ ์ขํžˆ๊ธฐ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์‚ดํŽด๋ณด์ž 61์„ ์ฐพ์œผ๋ ค๋ฉด ๊ตณ์ด ๋ชจ๋“  ๋ถ€๋ถ„์„ ํƒ์ƒ‰ํ•ด์•ผํ• ๊นŒ? ์•„๋‹ˆ๋‹ค. 4๋“ฑ๋ถ„ํ•œ ์šฐ์ธกํ•˜๋‹จ์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์ขํžˆ๊ณ  ๋‹ค์‹œ ์šฐ์ธกํ•˜๋‹จ์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์ขํ˜€์„œ Z ํƒ์ƒ‰ํ•˜๋ฉด๋œ๋‹ค. ๊ทธ๋Ÿผ 61(6, 7)์ด ์šฐ์ธกํ•˜๋‹จ์— ์œ„์น˜ํ•˜๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ฐพ์•„๋‚ด๋ฉด๋ ๊นŒ? N์ด 8..

[๋ฐฑ์ค€] 2630๋ฒˆ ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ์ž๋ฐ” (๋ถ„ํ• ์ •๋ณต)

๋ชฉ์ฐจ https://www.acmicpc.net/problem/2630 2630๋ฒˆ: ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์ข…์ด์˜ ํ•œ ๋ณ€์˜ ๊ธธ์ด N์ด ์ฃผ์–ด์ ธ ์žˆ๋‹ค. N์€ 2, 4, 8, 16, 32, 64, 128 ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ƒ‰์ข…์ด์˜ ๊ฐ ๊ฐ€๋กœ์ค„์˜ ์ •์‚ฌ๊ฐํ˜•์นธ๋“ค์˜ ์ƒ‰์ด ์œ—์ค„๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ค„๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ฌธ์ œํ’€์ด ๋ถ„ํ• ์ •๋ณต์€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ํ•˜์œ„๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ „์ฒด์— ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 1๋ฒˆ์งธ๋Š” ๋ชจ๋“  ์ขŒํ‘œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ 2์ค‘ for๋ฌธ์„ ๋Œ๋ ค ์ƒ‰์„ ํŒ๋‹จํ•œ๋‹ค. => ๋ชจ๋‘ ๊ฐ™๋‹ค๋ฉด ์ƒ‰๊น”์— ๋งž๊ฒŒ ์ €์žฅ => ํ•˜๋‚˜๋ผ๋„ ๋‹ค๋ฅธ ์ƒ‰๊น”์ด ์žˆ๋‹ค๋ฉด 4๋ถ„ํ•  ์ขŒ์ธก์ƒ๋‹จ : x๋Š” 0~4๊นŒ์ง€, y๋Š” 0~4๊นŒ์ง€ ํƒ์ƒ‰ ์ขŒ์ธกํ•˜๋‹จ : x๋Š” 0~4๊นŒ์ง€..

[๋ฐฑ์ค€] 1012 ์œ ๊ธฐ๋†๋ฐฐ์ถ” ์ž๋ฐ” BFS, DFS

๋ชฉ์ฐจ https://www.acmicpc.net/problem/1012 1012๋ฒˆ: ์œ ๊ธฐ๋† ๋ฐฐ์ถ” ์ฐจ์„ธ๋Œ€ ์˜๋†์ธ ํ•œ๋‚˜๋Š” ๊ฐ•์›๋„ ๊ณ ๋žญ์ง€์—์„œ ์œ ๊ธฐ๋† ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋†์•ฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋ ค๋ฉด ๋ฐฐ์ถ”๋ฅผ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ๋‚˜๋Š” ํ•ด์ถฉ ๋ฐฉ์ง€์— www.acmicpc.net ๋ฌธ์ œํ’€์ด ์ธ์ ‘ํ•œ ์ขŒํ‘œ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ธ์ ‘ํ•˜๋‹คํ•ด์„œ bfs, dfs๊ฐ€ ๋– ์˜ฌ๋ž๊ณ , ์ƒํ•˜์ขŒ์šฐ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹คํ•ด์„œ dx, dy์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋– ์˜ฌ๋ž๋‹ค ์ผ๋ฐ˜์ ์ธ bfs, dfs๋Š” ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ 1๋ฒˆ์—์„œ ์‹œ์ž‘ํ•˜๋ฉด ์—ฐ๊ฒฐ๋œ 9๋ฒˆ๊นŒ์ง€ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฌธ์ œ์— bfs, dfs๋ฅผ ๊ทธ๋Œ€๋กœ ์ ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ๋ ๊นŒ? (0,0)์—์„œ ์‹œ์ž‘ํ•œ๋‹ค ํ–ˆ์„ ๋•Œ (1,1)๊นŒ์ง€๋งŒ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ธฐ๋•Œ๋ฌธ์— ๋‚˜๋จธ์ง€๋Š” ํƒ์ƒ‰ํ•˜์ง€ ๋ชปํ•˜๊ณ  ..

[๋ฐฑ์ค€] 1697 ์ˆจ๋ฐ”๊ผญ์งˆ 1์ฐจ์› BFS

https://www.acmicpc.net/problem/1697 1697๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 โ‰ค N โ‰ค 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 โ‰ค K โ‰ค 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net ๋ฌธ์ œํ’€์ด 1์ฐจ์› BFS์ด๋‹ค. 2์ฐจ์› BFS์˜ check ๋ณ€์ˆ˜๋ฅผ node๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ œ์ถœ์ฝ”๋“œ package baekjoon; import java.io.IOException; import java.util.*; public class Main1697 { static int length = 100000; static int[] node = new int[length+1];..

[๋ฐฑ์ค€] 1966 ํ”„๋ฆฐํ„ฐ ํ + ํ…Œ์ŠคํŠธ์ผ€์ด์Šค

https://www.acmicpc.net/problem/1966 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ ์—ฌ๋Ÿฌ๋ถ„๋„ ์•Œ๋‹ค์‹œํ”ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋ฆฐํ„ฐ ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ธ์‡„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ธ์‡„ ๋ช…๋ น์„ ๋ฐ›์€ โ€˜์ˆœ์„œ๋Œ€๋กœโ€™, ์ฆ‰ ๋จผ์ € ์š”์ฒญ๋œ ๊ฒƒ์„ ๋จผ์ € ์ธ์‡„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์Œ“์ธ๋‹ค๋ฉด Queue ์ž๋ฃŒ๊ตฌ์กฐ์— www.acmicpc.net ๋ฌธ์ œํ’€์ด //์ค‘์š”๋„์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ง€์šฐ๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ฃจํ”„๋Œ๊ธฐ ์ด๋ถ€๋ถ„์„ ์ฒ˜์Œ์—” importmant++๋กœ ๋‘์—ˆ์„ ๋•Œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์ž˜ ๋™์ž‘๋˜์–ด์„œ ์ œ์ถœํ–ˆ๋Š”๋ฐ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ (ArrayIndexOutOfBounds) ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค ๋””๋ฒ„๊ทธํ•ด๋ณด๋‹ˆ 9๊นŒ์ง€์ธ ์ค‘์š”๋„๊ฐ€ 10, 11 ๋กœ ์˜ฌ๋ผ๊ฐ€๊ณ ์žˆ์—ˆ๋‹ค count++๋กœ ๊ณ ์น˜๋‹ˆ ์ž˜ ๋Œ์•„๊ฐ„๋‹ค! package baekjoon; import java.io.BufferedReade..

[๋ฐฑ์ค€] 9012 ๊ด„ํ˜ธ

https://www.acmicpc.net/problem/9012 9012๋ฒˆ: ๊ด„ํ˜ธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Parenthesis String, PS)์€ ๋‘ ๊ฐœ์˜ ๊ด„ํ˜ธ ๊ธฐํ˜ธ์ธ โ€˜(โ€™ ์™€ โ€˜)โ€™ ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ๊ทธ ์ค‘์—์„œ ๊ด„ํ˜ธ์˜ ๋ชจ์–‘์ด ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Valid PS, VPS)์ด๋ผ๊ณ  www.acmicpc.net ๋ฌธ์ œํ’€์ด import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main { /* * (์™€ )๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด : YES : stack..

[๋ฐฑ์ค€] 10828 ์Šคํƒ (๋ฐฐ์—ด, LinkedList๋กœ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ)

https://www.acmicpc.net/problem/10828 10828๋ฒˆ: ์Šคํƒ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 โ‰ค N โ‰ค 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€ www.acmicpc.net ๋ฌธ์ œํ’€์ด package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.StringTokenizer; interface Stack{ void push(int n);..

[SWEA] 1206. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - View

SW Expert Academy SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”! swexpertacademy.com ๋ฌธ์ œํ’€์ด import java.util.*; import java.io.FileInputStream; class Solution { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); int widthMax = 1000; int heightMax = 255; int test_count = 10; for(int test_case = 1; test_case

๋ฐ˜์‘ํ˜•