๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

Algorithm21

[BOJ] 2230๋ฒˆ - ์ˆ˜ ๊ณ ๋ฅด๊ธฐ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ๋‘ ์ˆ˜๋ฅผ ๊ณจ๋ž์„ ๋•Œ(๊ฐ™์€ ์ˆ˜์ผ ์ˆ˜๋„ ์žˆ๋‹ค), ๊ทธ ์ฐจ์ด๊ฐ€ M ์ด์ƒ์ด๋ฉด์„œ ์ œ์ผ ์ž‘์€ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ → ์ฐจ์ด๋ฅผ ๋น„๊ตํ•  ๋‘ ์ˆ˜๊ฐ€ ๊ฐ™์€ ์ˆ˜์ผ ์ˆ˜๋„ ์žˆ๊ณ  ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ๋‘ ์ˆ˜์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•ด์•ผํ•˜๋Š”๋ฐ ์ž…๋ ฅ๋œ ์ˆ˜์—ด์ด ์ •๋ ฌ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ์›์†Œ๋ผ๋ฆฌ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 5๊ฐœ์˜ ์›์†Œ๊ฐ€ ์žˆ์œผ๋ฉด ํ•˜๋‚˜์˜ ์›์†Œ์™€ ๋‚˜๋จธ์ง€ 4๊ฐœ์˜ ์›์†Œ๋ฅผ ๋ชจ๋‘ ๋น„๊ตํ•ด๋ณด์•„์•ผ ํ•œ๋‹ค. ์ด ๋ฐ˜๋ณต๋˜๋Š” ํšŸ์ˆ˜๋Š” 4 X 3 X 2 X 1 = 24 ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ์—์„œ ์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 100,000๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๊ธฐ์— ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋œฌ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์›์†Œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ค„์—ฌ์•ผํ•œ๋‹ค. ๋จผ์ €, ์ˆ˜์—ด์„ ์ •๋ ฌํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋‘ ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ• ์ง€ .. 2024. 3. 22.
[BOJ] 1068๋ฒˆ - ํŠธ๋ฆฌ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ํŠธ๋ฆฌ์˜ ๊ตฌ์กฐ๋Š” ๋ถ€๋ชจ์™€ ์ž์‹์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด ๋ฌธ์ œ์—์„œ ์ž…๋ ฅ์œผ๋กœ ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ ๋…ธ๋“œ์— ์ž์‹ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค. for(int i = 0; i < n; i++) { int p = Integer.parseInt(st.nextToken()); if(p == -1) { //๋ฃจํŠธ๋…ธ๋“œ ์ €์žฅํ•˜๊ธฐ root = i; } else { tree[p].add(i); //๋ถ€๋ชจ๋…ธ๋“œ์—๊ฒŒ ์ž์‹๋…ธ๋“œ ์ถ”๊ฐ€ } } ์ด์™€ ๊ฐ™์ด ์ €์žฅํ•œ ํ›„ ์ „์ฒด์ ์œผ๋กœ DFS๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฆฌํ”„๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•ด์„œ ์ด๋ฅผ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๋ฆฌํ”„๋…ธ๋“œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ ๋ฃจํŠธ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ž์‹๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๋Š”๋ฐ ๊ทธ ์ž์‹ ๋…ธ๋“œ๋ฅผ ์‚ญ์ œ ๋ฃจํŠธ ๋…ธ๋“œ๋Š” ๋ฆฌํ”„ ๋…ธ.. 2024. 2. 1.
[BOJ] 2512๋ฒˆ - ์˜ˆ์‚ฐ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ด ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ๋ดค์„ ๋•Œ ๋‹น์—ฐํžˆ ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ํ’€์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ตฌํ•ด์•ผํ•  ์ƒํ•œ์•ก์„ [0 ~ ์š”์ฒญํ•  ๊ธˆ์•ก ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’] ๊ตฌ๊ฐ„์—์„œ ์ด๋ถ„ํƒ์ƒ‰์„ ํ•œ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” ์ด๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. ์ด๋•Œ solve(mid) ๋Š” ๋ฐฐ์ •๋œ ์˜ˆ์‚ฐ์˜ ํ•ฉ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ start์™€ end๋ฅผ ๋ณ€๊ฒฝํ•ด๊ฐ€๋ฉฐ ์ตœ๋Œ€ ์ƒํ•œ์•ก์„ ์ฐพ๋Š”๋‹ค. int start = 0; int end = max; while(start m) { end = mid - 1; } else { start = mid + 1; } } bw.write(end + ""); ํ•˜์ง€๋งŒ ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ์ƒ๊ฐ๋‚˜์„œ ์ด ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณธ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณตํ‰ํ•˜๊ฒŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํ•œ์•ก = ์ด ์˜ˆ์‚ฐ / ์ง€๋ฐฉ์˜ ์ˆ˜ = m / n ๋งŒ์•ฝ์— ์ด ์˜ˆ์‚ฐ์ด ์š”์ฒญํ•œ ์˜ˆ.. 2024. 1. 15.
[BOJ] 13904๋ฒˆ - ๊ณผ์ œ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ด ๋ฌธ์ œ์—์„œ ํ•ต์‹ฌ์€ ๋งˆ๊ฐ๊ธฐํ•œ์ด๋‹ค. ์šฐ์„  ๋‹น์—ฐํžˆ ์ ์ˆ˜๊ฐ€ ์ตœ๋Œ€๋กœ ๋˜๋ ค๋ฉด ๊ณผ์ œ์— ๋ถ€์—ฌ๋œ ์ ์ˆ˜๊ฐ€ ํฐ ๊ฒƒ์„ ํ•ด์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋งˆ๊ฐ๊ธฐํ•œ์ด ์ง€๋‚˜๋ฉด ์•„๋ฌด๋ฆฌ ๋†’์•„๋„ ์“ธ ์ˆ˜ ์—†๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์˜ˆ์ œ๋ฅผ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ •๋ ฌํ•ด๋ณด์•˜๋‹ค ๋งˆ๊ฐ๊ธฐํ•œ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ, ๋งˆ๊ฐ๊ธฐํ•œ์ด ๊ฐ™์œผ๋ฉด ์ ์ˆ˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ๋งˆ๊ฐ๊ธฐํ•œ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ, ๋งˆ๊ฐ๊ธฐํ•œ์ด ๊ฐ™์œผ๋ฉด ์ ์ˆ˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ 1. ๋งˆ๊ฐ๊ธฐํ•œ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ 1์ผ๋ถ€ํ„ฐ ํ™•์ธํ•˜๊ธฐ 1์ผ์งธ : 1, 2, 3, 4, 4, 4, 6 2์ผ์งธ : 2, 3, 4, 4, 4, 6 3์ผ์งธ : 3, 4, 4, 4, 6 4์ผ์งธ : 4, 4, 4, 6 5์ผ์งธ : 6 6์ผ์งธ : 6 ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณผ์ œ๋Š” ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‚ ์งœ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. 1์ผ์งธ์— ์–ด๋Š ๋ฌธ.. 2024. 1. 5.
[BOJ] 31066๋ฒˆ - ๋น„ ์˜ค๋Š” ๋‚  (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ 2023.12.30์ผ์— ์ฒ˜์Œ์œผ๋กœ SciOI 2023 Open Contest · Arena #16 ์— ์ฐธ๊ฐ€ํ–ˆ๋‹ค. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ๋ณธ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ๊ธด์žฅ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ์ฒซ ๋ฌธ์ œ์˜€๋‹ค. ๋‹น์‹œ์— ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋Š”์ง€ ๊ผฌ์—ฌ๋ฒ„๋ ธ๋˜ ๋ฌธ์ œ๋ฅผ ์˜ค๋Š˜ ๋‹ค์‹œ ์ •๋ฆฌํ•ด์„œ ํ’€์–ด๋ณด์•˜๋‹ค. ํ’€์ด ๊ณผ์ •์—์„œ 2๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ์•Œ๊ฒŒ๋˜์–ด ์ด๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 1. ํ‹€๋ฆฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ if(m == 1 && k == 1) return -1; ์ฒ˜์Œ์—๋Š” ์œ„์™€ ๊ฐ™์ด ์šฐ์‚ฐ์ด 1๊ฐœ์ด๊ณ  ์šฐ์‚ฐ์„ ์“ธ ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ ์ˆ˜๊ฐ€ 1๋ช…์ผ ๊ฒฝ์šฐ์—๋Š” ๋ฌด์กฐ๊ฑด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ์— ์‚ฌ๋žŒ์ด ๊ฑด๋„ˆ์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ์ด 1๋ช…์ด๋ฉด ์ด ๊ฒฝ์šฐ์—๋„ ๋ถˆ๊ฐ€๋Šฅํ• ๊นŒ? ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„ ์ฒซ๋ฒˆ์งธ์˜€๋‹ค. ์‚ฌ๋žŒ์ด 1๋ช…์ผ ๊ฒฝ์šฐ์—๋Š” 1ํšŒ๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„.. 2024. 1. 2.
[BOJ] 12919๋ฒˆ - A์™€ B 2 (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋„ ํฌ์ง€ ์•Š๊ณ  ์—ฐ์‚ฐ๋„ ๊ฐ„๋‹จํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. public static int solve(String s, String t) { if(s.length() == t.length()) { if(s.equals(t)) return 1; return 0; } String s1 = s + "A"; String s2 = new StringBuffer(s + "B").reverse().toString(); if(solve(s1, t) == 1 || solve(s2, t) == 1) return 1; return 0; } ๋ฌธ์ž์—ด s์— ์—ฐ์‚ฐ์„ ํ•ด๋‚˜์•„๊ฐ€๋ฉฐ ๋ฌธ์ž์—ด t์™€ ๊ฐ™์•„์ง€๋Š”์ง€ ํ™•์ธํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค. ์œ„์™€ ๊ฐ™์ด ํ’€์ด๋ฅผ ํ•  ๊ฒฝ์šฐ.. 2023. 12. 24.
[BOJ] 10942๋ฒˆ - ํŒฐ๋ฆฐ๋“œ๋กฌ? (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ž€? ๊ฑฐ๊พธ๋กœ ์ฝ์–ด๋„ ์ œ๋Œ€๋กœ ์ฝ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฌธ์žฅ์ด๋‚˜ ๋‚ฑ๋ง, ์ˆซ์ž, ๋ฌธ์ž์—ด(sequence of characters) ๋“ฑ ์ฆ‰, ์•ž๋’ค๋กœ ์ฝ์–ด๋„ ๋˜‘๊ฐ™๋‹ค! (ex. ํ† ๋งˆํ† ) [์œ„ํ‚ค] https://ko.wikipedia.org/wiki/%ED%9A%8C%EB%AC%B8 ์ด๋Š” 3๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ธธ์ด๊ฐ€ 1์ธ ๊ฒฝ์šฐ 1, 2, 3, a, b, c ๋ฌด์กฐ๊ฑด ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋‹ค. ๊ธธ์ด๊ฐ€ 2์ธ ๊ฒฝ์šฐ 11, 22, 33, aa, bb, cc ๋‘ ๋ฌธ์ž๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ์—๋งŒ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋‹ค. ๊ธธ์ด๊ฐ€ 3์ด์ƒ์ธ ๊ฒฝ์šฐ 121, aba ๋งจ ์•ž์˜ ๋ฌธ์ž์™€ ๋งจ ๋์˜ ๋ฌธ์ž๊ฐ€ ๊ฐ™๊ณ  ์ค‘๊ฐ„์˜ ๋ฌธ์ž์—ด์ด ํŒฐ๋ฆฐ๋“œ๋กฌ์ผ ๊ฒฝ์šฐ์—๋งŒ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋‹ค. ์œ„์˜ ์„ฑ์งˆ์„ ์ด์šฉํ•ด์„œ ๋ฌธ์ž์—ด์—์„œ ์–ด๋Š ๋ถ€๋ถ„์ด ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.. 2023. 12. 22.
[BOJ] 17609๋ฒˆ - ํšŒ๋ฌธ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ด ๋ฌธ์ œ๋Š” ํšŒ๋ฌธ์„ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ, 1๊ฐœ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ํšŒ๋ฌธ์ด ๋˜๋Š” ๊ฒƒ๋„ ์•Œ์•„๋‚ด์•ผ ํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ ๋ฐ˜๋ก€๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ณ ์น˜๋Š” ๊ณผ์ •์„ ์ •๋ฆฌํ•œ๋‹ค. ํšŒ๋ฌธ์˜ ํŠน์„ฑ์œผ๋กœ ๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ ์œผ๋กœ ์–‘์ชฝ์ด ๊ฐ™์•„์•ผ ํ•˜๋ฏ€๋กœ start, end๋ฅผ ๋‘์–ด ๋น„๊ตํ–ˆ๋‹ค. ์ฒ˜์Œ์— ๋‚ด๊ฐ€ ํšŒ๋ฌธ์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. public static int isPalindrome(String s) { int start = 0; int end = s.length() - 1; int count = 0; while(start 1) { break; } } if(count > 1) { return 2; } return count; } ๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ•˜์—ฌ start์™€ end ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž๊ฐ€ ๊ฐ™์ง€ ์•Š.. 2023. 12. 13.
[BOJ] 1806๋ฒˆ - ๋ถ€๋ถ„ํ•ฉ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ start : ํ˜„์žฌ ๋ˆ„์ ํ•ฉ์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค end : ํ˜„์žฌ ๋ˆ„์ ํ•ฉ์˜ ๋ ์ธ๋ฑ์Šค sum : nums[start] + .... + nums[end] ์˜ ํ•ฉ sum ์ด s ์ด์ƒ์ด๋ฉด (end - start + 1) ์ˆ˜์—ด์˜ ๊ธธ์ด ๋น„๊ต sum์ด s ์ดˆ๊ณผ์ด๋ฉด start++ ํ•˜์—ฌ sum ๊ฐ์†Œ์‹œํ‚ค๊ธฐ ์•„๋‹ˆ๋ฉด end++ ํ•˜์—ฌ sum ์ฆ๊ฐ€์‹œํ‚ค๊ธฐ ๋‹จ, end == n์ด ๋˜๋Š” ์ˆœ๊ฐ„ ๋ฐฐ์—ด์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋‹จํ•ด์ฃผ๊ธฐ! ์œ„์˜ ์„ค๋ช…์„ ๋‚˜์˜ ํ’€์ด์ด๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ end๊ฐ€ n์ด ๋˜๋Š” ์ˆœ๊ฐ„์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์ž˜๋ชปํ•ด์„œ ๊ณ„์† ํ‹€๋ ธ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•˜๋‹ค ๋ณด๋‹ˆ ๋‚˜์™€ ๋‹ค๋ฅธ ์ ์ด ์žˆ์–ด์„œ ์ด๋ฅผ ๊ธฐ๋กํ•˜๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด์—์„œ๋Š” start๋ถ€ํ„ฐ end-1 ์ธ๋ฑ์Šค๊นŒ์ง€์˜ ํ•ฉ์„ ๋ˆ„์ ํ•ฉ์œผ๋กœ ๋ณด์•˜๋‹ค. ๊ทธ๋ž˜.. 2023. 12. 12.
[BOJ] 11779๋ฒˆ - ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ2 (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์šฐ์„  ์˜ค๋Š˜ ์ด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฝ์งˆํ•œ ์‹œ๊ฐ„์€ ์˜ˆ์ œ๋ฅผ ๋งž์ถ”๋ ค๊ณ  ๋…ธ๋ ฅํ•œ ์‹œ๊ฐ„์ด๋‹ค. ์ด์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์–ด ์›๋ฆฌ๋ฅผ ์•Œ๊ณ  ์žˆ์—ˆ๊ณ  ์˜ˆ์ œ๋ฅผ ๋ฏฟ๊ณ  ๋ฐ”๋กœ ํ’€์ด์— ๋“ค์–ด๊ฐ”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณ„์†ํ•ด์„œ ๊ฒฝ๋กœ๊ฐ€ ์˜ˆ์ œ ์ •๋‹ต๊ณผ ๋‹ค๋ฅด๊ฒŒ [1, 4, 5]๋กœ ์ถœ๋ ฅ์ด ๋˜์—ˆ๋‹ค. ์ดˆ๋ฐ˜์—๋Š” ๋ฌธ์ œ๊ฐ€ ํ‹€๋ฆด ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๋‚ด ์ฝ”๋“œ๋งŒ ๊ณ„์†ํ•ด์„œ ํ™•์ธํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„๋ฌด๋ฆฌ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„๋ณด๋ ค๊ณ  ํ•ด๋„ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜๊ณ  ์˜ˆ์ œ๋ฅผ ์ง์ ‘ ์†์œผ๋กœ ํ’€์–ด๋ณด๋‹ˆ ์‹ค์ œ ๊ฒฝ๋กœ๊ฐ€ [1, 4, 5]๊ฐ€ ๋งž์•˜๋‹ค. ์ด๋ฒˆ์— ๋Š๋‚€ ๊ฒƒ์€ ์•„๋ฌด๋ฆฌ ์›๋ฆฌ๋ฅผ ์•Œ๊ณ  ์žˆ๋”๋ผ๋„ ์ง์ ‘ ๋‹ต์„ ๊ตฌํ•ด๋ณด๋ฉฐ ๋ฌธ์ œ ํ’€์ด์— ์ ‘๊ทผํ•ด์•ผ๊ฒ ๋‹ค!!!! ์‚ฝ์งˆํ•œ ์‹œ๊ฐ„์€ ์•„๊น๊ณ  ํ—ˆ๋ฌดํ–ˆ์ง€๋งŒ.. ๋‹ค์Œ๋ถ€ํ„ฐ ์‹ค์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์œผ๋ฉด ๋œ๋‹ค..! โ€ป Comparable public stat.. 2023. 12. 8.
[BOJ] 13270๋ฒˆ - ํ”ผ๋ณด๋‚˜์น˜ ์น˜ํ‚จ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ๊ณ„์† ํ’€์–ด๋ณด์•˜์ง€๋งŒ ์‹คํŒจํ•ด์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ๋‹ค. ์ฒ˜์Œ์—๋Š” ์‚ฌ๋žŒ ์ˆ˜, ์น˜ํ‚จ ์ˆ˜์˜ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๋ถ„๋ฆฌํ•ด์„œ ์ƒ๊ฐํ•˜์—ฌ ์ด์— ๋Œ€ํ•œ ์—ฐ๊ด€์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋‘ ๋ณ€์ˆ˜ a์™€ b๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์ฒ˜์Œ a์™€ b๊ฐ€ 1๋‹ญ 2์ธ์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ์œผ๋ฉด ๋‹ค์Œ a์™€ b์˜ ๊ฐ’์€ 2๋‹ญ 3์ธ์ด ๋˜์–ด์•ผํ•œ๋‹ค. ์ฆ‰, a = b, b = a+b ๋กœ ๊ฐ’์ด ๋ณ€ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ•ด์•ผํ•  ๊ฒƒ์€ ์ตœ์†Œ ์น˜ํ‚จ ์ˆ˜์™€ ์ตœ๋Œ€ ์น˜ํ‚จ ์ˆ˜์ด๋‹ค. min ๋ฐฐ์—ด : min[i] ๋Š” i์ธ๋ถ„ ์‹œ์ผฐ์„ ๋•Œ ์ตœ์†Œ ์น˜ํ‚จ ์ˆ˜ max ๋ฐฐ์—ด : max[i] ๋Š” i์ธ๋ถ„ ์‹œ์ผฐ์„ ๋•Œ ์ตœ๋Œ€ ์น˜ํ‚จ ์ˆ˜ ๋‹จ, ์ด ๋ฐฐ์—ด์€ ํ•ญ์ƒ ๊ธธ์ด๊ฐ€ 3์ด์ƒ์ผ ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ [0, 1๋ฒˆ ์ธ๋ฑ์Šค.. 2023. 12. 6.
[BOJ] 12851๋ฒˆ - ์ˆจ๋ฐ”๊ผญ์งˆ2 (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ ๋‚ด๊ฐ€ ์ž˜๋ชป ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๊ธฐ๋กํ•ด๋‘๋ ค๊ณ  ํ•œ๋‹ค. ์šฐ์„  ๊ธฐ์–ตํ•ด์•ผํ•  ๊ฒƒ์€ BFS๋Š” ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์ฒ˜์Œ ๋™์ƒ์˜ ์œ„์น˜์— ๋„์ฐฉํ•˜๋ฉด(answer = 0) ๊ทธ ๋•Œ ์‹œ๊ฐ„์ด ์ตœ์†Œ์‹œ๊ฐ„์ด ๋œ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ์ƒ๊ฐํ•˜๊ณ  ์ž‘์„ฑํ•œ ์ฝ”๋“œ ์ค‘ queue ์‚ฝ์ž…๊ณผ ๊ด€๋ จ๋œ ์ฝ”๋“œ์ด๋‹ค. ์œ„์™€ ๊ฐ™์ด ๋‹จ์ง€ next์œ„์น˜์—์„œ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„์ด ์ตœ์†Œ ์‹œ๊ฐ„๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋ฌด์กฐ๊ฑด queue์— ๋„ฃ๋„๋ก ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ  ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค. ํ˜„์žฌ ์ฝ”๋“œ๋กœ๋Š” ๋„์ฐฉ์ง€์ ๊ณผ ํ˜„์žฌ ์ง€์ ์˜ ๊ฑฐ๋ฆฌ์™€ ์ƒ๊ด€์—†์ด ํ˜„์žฌ ์‹œ๊ฐ„์ด ์ตœ์†Œ ์‹œ๊ฐ„๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋ฌด์กฐ๊ฑด ํ์— ์‚ฝ์ž…ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ ˆ๋Œ€ ์ตœ์†Œ์‹œ๊ฐ„์— ๋„์ฐฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ํ์— ์กด์žฌํ•˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ตœ์•…์˜ ๊ฒฝ์šฐ๋ฅผ.. 2023. 12. 4.
[Programmers] ํƒ๋ฐฐ ๋ฐฐ๋‹ฌ๊ณผ ์ˆ˜๊ฑฐํ•˜๊ธฐ (Java) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๋‹น์‹ ์€ ์ผ๋ ฌ๋กœ ๋‚˜์—ด๋œ n๊ฐœ์˜ ์ง‘์— ํƒ๋ฐฐ๋ฅผ ๋ฐฐ๋‹ฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. → deliveries ์˜ ๊ธธ์ด = pickups์˜ ๊ธธ์ด = n ๋ฐฐ๋‹ฌํ•  ๋ฌผ๊ฑด์€ ๋ชจ๋‘ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ์žฌํ™œ์šฉ ํƒ๋ฐฐ ์ƒ์ž์— ๋‹ด์•„ ๋ฐฐ๋‹ฌํ•˜๋ฉฐ, ๋ฐฐ๋‹ฌ์„ ๋‹ค๋‹ˆ๋ฉด์„œ ๋นˆ ์žฌํ™œ์šฉ ํƒ๋ฐฐ ์ƒ์ž๋“ค์„ ์ˆ˜๊ฑฐํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ๋‹ฌํ•  ํƒ๋ฐฐ๋“ค์€ ๋ชจ๋‘ ์žฌํ™œ์šฉ ํƒ๋ฐฐ ์ƒ์ž์— ๋‹ด๊ฒจ์„œ ๋ฌผ๋ฅ˜์ฐฝ๊ณ ์— ๋ณด๊ด€๋˜์–ด ์žˆ๊ณ , i๋ฒˆ์งธ ์ง‘์€ ๋ฌผ๋ฅ˜์ฐฝ๊ณ ์—์„œ ๊ฑฐ๋ฆฌ i๋งŒํผ ๋–จ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ i๋ฒˆ์งธ ์ง‘์€ j๋ฒˆ์งธ ์ง‘๊ณผ ๊ฑฐ๋ฆฌ j - i๋งŒํผ ๋–จ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. (1 ≤ i ≤ j ≤ n) ํŠธ๋Ÿญ์—๋Š” ์žฌํ™œ์šฉ ํƒ๋ฐฐ ์ƒ์ž๋ฅผ ์ตœ๋Œ€ cap๊ฐœ ์‹ค์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋Ÿญ์€ ๋ฐฐ๋‹ฌํ•  ์žฌํ™œ์šฉ ํƒ๋ฐฐ ์ƒ์ž๋“ค์„ ์‹ค์–ด ๋ฌผ๋ฅ˜์ฐฝ๊ณ ์—์„œ ์ถœ๋ฐœํ•ด ๊ฐ ์ง‘์— ๋ฐฐ๋‹ฌํ•˜๋ฉด์„œ, ๋นˆ ์žฌํ™œ์šฉ ํƒ๋ฐฐ ์ƒ์ž๋“ค์„ ์ˆ˜๊ฑฐํ•ด ๋ฌผ๋ฅ˜์ฐฝ๊ณ ์— ๋‚ด๋ฆฝ๋‹ˆ๋‹ค. → ๋ฐฐ๋‹ฌํ•˜๊ฑฐ๋‚˜ ์ˆ˜๊ฑฐํ• .. 2023. 11. 9.
[BOJ] 2437๋ฒˆ - ์ €์šธ (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์šฐ์„  ์˜ˆ์‹œ ์ค‘์—์„œ ์ถ” [1, 1, 2]๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. ๋‹ค๋ฅธ ์˜ˆ์‹œ๋กœ [1, 2, 3]์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด๋ฉด, 1 = 1 2 = 2 3 = 3 4 = 1+3 5 = 2+3 6 = 1+2+3 ์œ„์™€ ๊ฐ™์ด ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ถ”๋“ค์˜ ๋ฌด๊ฒŒ๋ฅผ ํ•ฉํ•œ ๊ฐ’ ์ดํ•˜์˜ ๊ฐ’๋“ค์€ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์ถ”์˜ ๋ฌด๊ฒŒ๋“ค์ด ์ •๋ ฌ์ด ๋˜์–ด์žˆ์–ด์•ผ ํ•˜๋ฉฐ ์ถ”์™€ ์ถ” ์‚ฌ์ด์˜ ๋ฌด๊ฒŒ ์ฐจ์ด๊ฐ€ ํฌ๊ฒŒ ๋‚˜๋ฉด ์•ˆ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ถ” ์‚ฌ์ด์˜ ๋ฌด๊ฒŒ ์ฐจ์ด๊ฐ€ ์–ผ๋งˆ๋งŒํผ ์ฐจ์ด๊ฐ€ ๋‚˜๋ฉด ์•ˆ๋˜๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค. ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์˜ˆ์‹œ๋กœ ํ˜„์žฌ [1, 1, 2, 3]์˜ ์ถ”๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด 7๊นŒ์ง€ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๋‹ค์Œ ์ถ”๊ฐ€ ํ˜„์žฌ ์ธก์ •ํ•  ์ˆ˜ ์—†๋Š” 8๋ณด๋‹ค ์ž‘.. 2023. 10. 27.
[BOJ] 15657๋ฒˆ - N๊ณผM(8) (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ๋ฐฑํŠธ๋ž˜ํ‚น ์—ฐ์Šตํ•˜๊ธฐ ํŽธํ•œ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์˜ค๋Š˜ ํ’€๋ฉด์„œ ํ‹€๋ ธ๋˜ ์ด์œ ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚จ๊ฒจ๋†“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ๋‚ด๊ฐ€ ์ž˜๋ชป ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์€ ํƒ€์ž…์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์ •๋ ฌํ•œ ๊ฒƒ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ฒฐ๊ณผ๋ฅผ ์‰ฝ๊ฒŒ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์žํ˜• ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์–ด์ง„ ์˜ˆ์ œ๋Š” ์ „๋ถ€ ํ†ต๊ณผํ•ด ์ œ์ถœํ–ˆ์ง€๋งŒ ํ‹€๋ ธ๋‹ค. ๋‹ค๋ฅธ ๋™์ž‘์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‚˜ ๊ณ ๋ฏผํ•ด๋ณด์•˜์ง€๋งŒ ์—†์—ˆ๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•ด๋ด๋„ ๋™์ž‘์€ ์™„๋ฒฝํ–ˆ๋‹ค. ๋‹จ ํ•˜๋‚˜ ๋‹ค๋ฅธ ์ ์ด ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด์—ˆ๋Š”๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ [์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜]์ด๋ฏ€๋กœ ์ด๋Š” ์ •์ˆ˜๋กœ ์ •๋ ฌํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ๐Ÿ€ ํ’€์ด ๐Ÿ€ import sys n, m = map(int, sys.stdin.readline().split()) nums = .. 2023. 10. 5.
[BOJ] 1911๋ฒˆ - ํ™๊ธธ ๋ณด์ˆ˜ํ•˜๊ธฐ (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ด ๋ฌธ์ œ๋Š” [๋ฌผ์›…๋ฉ์ด๋“ค์„ ๋ชจ๋‘ ๋ฎ์œผ๋ ค๊ณ  ํ•œ๋‹ค.] ๋ผ๋Š” ์กฐ๊ฑด์ด ์žˆ์œผ๋ฏ€๋กœ ๋ฌผ์›…๋ฉ์ด๊ฐ€ ๋ณด์ด๋ฉด ์ผ๋‹จ ๋ฎ์œผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋„๋นค์ง€์˜ ๊ธธ์ด๋Š” ์ •ํ•ด์ ธ ์žˆ์œผ๋ฏ€๋กœ ๋ฎ๋‹ค๋ณด๋ฉด ์ž…๋ ฅ๋ฐ›์€ ๋ฌผ์›…๋ฉ์ด์˜ ์œ„์น˜๊ฐ€ ์ด๋ฏธ ๋ฎ์—ฌ์ ธ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์–ด์ฐจํ”ผ ๋ชจ๋“  ์›…๋ฉ์ด๋Š” ๋ฎ์–ด์•ผํ•˜๋‹ˆ ์›…๋ฉ์ด์˜ [๋ ์œ„์น˜ - ์‹œ์ž‘ ์œ„์น˜]๋ฅผ ํ†ตํ•ด ์›…๋ฉ์ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜์—ฌ ํ•„์š”ํ•œ ๋„๋นค์ง€์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ–ˆ๋‹ค. ๋‹จ, ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ์ด๋ฏธ ๋ฎ์—ฌ์ ธ ์žˆ๋Š” ์œ„์น˜๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋กœ current๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‘์–ด ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๋ฎ์—ฌ์ ธ ์žˆ์ง€ ์•Š์€ ์œ„์น˜๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. ๐Ÿ€ ํ’€์ด ๐Ÿ€ import sys n, l = map(int, sys.stdin.readline().split()) water = [list(map(int, sy.. 2023. 9. 7.
[BOJ] 13549๋ฒˆ - ์ˆจ๋ฐ”๊ผญ์งˆ3 (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์–ด์ œ ๊ณต๋ถ€ํ•œ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์—ฐ์Šตํ•ด๋ณด์•˜๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ BFS 2๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ํ’€์–ด๋ณด์•˜๋‹ค. (์ฝ”๋“œ๋Š” ์•„๋ž˜์—) 1. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ํ’€์ด 1. ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๋ฅผ ์‹œ์ž‘ ์ •์ ์œผ๋กœ ๋‘”๋‹ค. 2. ํ˜„์žฌ ์œ„์น˜ i์— +1, -1 *2 ํ•œ ์œ„์น˜์— ๋Œ€ํ•ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์‹œ๊ฐ„ times[k]์™€ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„(times[i] + 1 ๋˜๋Š” times[i])์„ ๋น„๊ตํ•˜์—ฌ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„์ด ๋” ์ž‘์œผ๋ฉด times[k]๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค. 3. heap์ด ๋นŒ ๋•Œ๊นŒ์ง€ 2๋ฒˆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์ด๋•Œ, ์ฃผ์˜ํ•  ์ ์€ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†์ง€๋งŒ ๊ฐ€์ค‘์น˜๋กœ ์ƒ๊ฐํ•œ ๊ฐ’์€ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„์œผ๋กœ times์˜ ๊ฐ’์ด๋‹ค. ๋งŒ์•ฝ ์ด๋ฅผ times๋ฅผ ๋„์ฐฉ ์ •์ ์˜ ๊ฐœ์ˆ˜๋งŒํผ๋งŒ ๋งŒ๋“ค๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์„ ๋„์ถœํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค. ์œ„์˜ ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์˜ˆ.. 2023. 9. 5.
[BOJ] 1753๋ฒˆ - ์ตœ๋‹จ๊ฒฝ๋กœ(Python) + Dijkstra Algorithm ๐Ÿ—’๏ธ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Dijkstra Algorithm) ๋ชจ์„œ๋ฆฌ ๋˜๋Š” ์ •์ ์— ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ€์—ฌ๋œ ๊ทธ๋ž˜ํ”„์—์„œ ๋‘ ์ •์  ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ทธ๋ž˜ํ”„์—์„œ์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋Š” BFS๋ฅผ ์‚ฌ์šฉ! ์–ด๋–ค ์‹œ์ž‘์  s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ •์ ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋‹ค๋ฅธ ๋ชจ๋“  ์ •์ ์œผ๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š”๋‹ค. ๋‹จ, ์Œ์ˆ˜์ธ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋Š” ์šฐ๋ฆฌ์ง‘์—์„œ ์˜†์ง‘์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, ์šฐ๋ฆฌ์ง‘์—์„œ ์€ํ–‰์„ ๊ฑฐ์ณ ๊ฐ€๋Š” ๊ฒƒ์ด ๋น„์šฉ์ƒ ์ด๋“์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฆ‰, ๊ฐ’์ด ์Œ์ˆ˜์ธ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๋„์ค‘์— ์•„์ฃผ ์ž‘์€ ์Œ์ˆ˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ชจ์„œ๋ฆฌ๊ฐ€ ์žˆ์–ด์„œ ์ด๋ฏธ ํŠธ๋ฆฌ์— ๋“ค์–ด์žˆ๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ์™€ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋™์ž‘ ๊ณผ์ •(๊ฐ„์„  ์™„ํ™” ๊ณผ์ •) 1. ๋ชจ๋“  ๊ผญ์ง“์ ์„ .. 2023. 9. 4.
728x90