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

๐Ÿš€ Algorithm

(29)
[๋ฐฑ์ค€] ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0 (JAVA) 11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0 ๋ฌธ์ œ ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ์›์„ ์ด๋ฃจ๋ฉด์„œ ์•‰์•„์žˆ๊ณ , ์–‘์˜ ์ •์ˆ˜ K(≤ N)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์ œ ์ˆœ์„œ๋Œ€๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค. ํ•œ ์‚ฌ๋žŒ์ด ์ œ๊ฑฐ๋˜๋ฉด ๋‚จ์€ ์‚ฌ๋žŒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์›์„ ๋”ฐ๋ผ ์ด ๊ณผ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ„๋‹ค. ์ด ๊ณผ์ •์€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ๋ชจ๋‘ ์ œ๊ฑฐ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค. ์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ๋ฅผ (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (7, 3)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์€ ์ด๋‹ค. N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง€๋ฉด (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 1,000) ์ถœ๋ ฅ ์˜ˆ์ œ์™€ ๊ฐ™์ด ์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 7 3 // 7: N..
[๋ฐฑ์ค€] 2828 ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„(JAVA) 2828๋ฒˆ: ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„ ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์˜ค๋ฝ์‹ค์—์„œ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์˜ฎ๊ธฐ๋Š” ์˜ค๋ž˜๋œ ๊ฒŒ์ž„์„ ํ•œ๋‹ค. ์Šคํฌ๋ฆฐ์€ N์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ์Šคํฌ๋ฆฐ์˜ ์•„๋ž˜์ชฝ์—๋Š” M์นธ์„ ์ฐจ์ง€ํ•˜๋Š” ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ๋‹ค. (M right) { cnt += apple - right; // ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ๋”ํ•จ right = apple; // ๋ฐ”๊ตฌ๋‹ˆ ์œ„์น˜ ์—…๋ฐ์ดํŠธ left = right - M + 1; // ๋ฐ”๊ตฌ๋‹ˆ ๋ฒ”์œ„ ์—…๋ฐ์ดํŠธ } } System.out.println(cnt); } }
[๋ฐฑ์ค€] 2178 ๋ฏธ๋กœ ํƒ์ƒ‰(JAVA) ๐Ÿ’ก ๋ฌธ์ œ N×Mํฌ๊ธฐ์˜ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„๋˜๋Š” ๋ฏธ๋กœ๊ฐ€ ์žˆ๋‹ค. ๋ฏธ๋กœ์—์„œ 1์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 0์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, (1, 1)์—์„œ ์ถœ๋ฐœํ•˜์—ฌ (N, M)์˜ ์œ„์น˜๋กœ ์ด๋™ํ•  ๋•Œ ์ง€๋‚˜์•ผ ํ•˜๋Š” ์ตœ์†Œ์˜ ์นธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ•œ ์นธ์—์„œ ๋‹ค๋ฅธ ์นธ์œผ๋กœ ์ด๋™ํ•  ๋•Œ, ์„œ๋กœ ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ๋Š” 15์นธ์„ ์ง€๋‚˜์•ผ (N, M)์˜ ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์นธ์„ ์…€ ๋•Œ์—๋Š” ์‹œ์ž‘ ์œ„์น˜์™€ ๋„์ฐฉ ์œ„์น˜๋„ ํฌํ•จํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ •์ˆ˜๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ˆ˜๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ง€๋‚˜์•ผ ํ•˜๋Š” ์ตœ์†Œ์˜ ์นธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ•ญ์ƒ ๋„์ฐฉ์œ„..
[๋ฐฑ์ค€] 1926 ๊ทธ๋ฆผ(JAVA) BOJ1926 ๊ทธ๋ฆผ 1926๋ฒˆ: ๊ทธ๋ฆผ ๋ฌธ์ œ ์–ด๋–ค ํฐ ๋„ํ™”์ง€์— ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ ์žˆ์„ ๋•Œ, ๊ทธ ๊ทธ๋ฆผ์˜ ๊ฐœ์ˆ˜์™€, ๊ทธ ๊ทธ๋ฆผ ์ค‘ ๋„“์ด๊ฐ€ ๊ฐ€์žฅ ๋„“์€ ๊ฒƒ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ๋‹จ, ๊ทธ๋ฆผ์ด๋ผ๋Š” ๊ฒƒ์€ 1๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์„ ํ•œ ๊ทธ๋ฆผ์ด๋ผ๊ณ  ์ •์˜ํ•˜์ž. ๊ฐ€๋กœ๋‚˜ ์„ธ๋กœ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์€ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์ด๊ณ  ๋Œ€๊ฐ์„ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์€ ๋–จ์–ด์ง„ ๊ทธ๋ฆผ์ด๋‹ค. ๊ทธ๋ฆผ์˜ ๋„“์ด๋ž€ ๊ทธ๋ฆผ์— ํฌํ•จ๋œ 1์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋„ํ™”์ง€์˜ ์„ธ๋กœ ํฌ๊ธฐ n(1 ≤ n ≤ 500)๊ณผ ๊ฐ€๋กœ ํฌ๊ธฐ m(1 ≤ m ≤ 500)์ด ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ n+1 ์ค„ ๊นŒ์ง€ ๊ทธ๋ฆผ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (๋‹จ ๊ทธ๋ฆผ์˜ ์ •๋ณด๋Š” 0๊ณผ 1์ด ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ฃผ์–ด์ง€๋ฉฐ, 0์€ ์ƒ‰์น ์ด ์•ˆ๋œ ๋ถ€๋ถ„, 1์€ ์ƒ‰์น ์ด ๋œ ๋ถ€๋ถ„์„ ์˜๋ฏธํ•œ๋‹ค) ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ฆผ์˜ ๊ฐœ์ˆ˜, ๋‘˜์งธ ์ค„์—๋Š” ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋„“์€..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํƒ€๊ฒŸ ๋„˜๋ฒ„(JAVA) ๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ง์ˆ˜ ํ™€์ˆ˜ ๊ฐœ์ˆ˜ ๐Ÿ’ก ๋ฌธ์ œ ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฆฌ์ŠคํŠธ num_list๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, num_list์˜ ์›์†Œ ์ค‘ ์ง์ˆ˜์™€ ํ™€์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ๐Ÿ– ๋‚ด ๋‹ต์•ˆ public int[] solution(int[] num_list) { // ์ง์ˆ˜์˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ long even_count = Arrays.stream(num_list) // num_list๋ฅผ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜ .filter(num -> num % 2 == 0) // ์ง์ˆ˜์ธ ์›์†Œ๋งŒ ๊ฑธ๋Ÿฌ๋‚ด๊ธฐ .count(); // ๊ฑธ๋Ÿฌ๋‚ธ ์›์†Œ์˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ // ํ™€์ˆ˜์˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ long odd_count = num_list.length - even_count; // ์ „์ฒด ๊ธธ์ด์—์„œ ์ง์ˆ˜์˜ ๊ฐœ์ˆ˜ ๋นผ๊ธฐ // ๊ฒฐ๊ณผ ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ int[] ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ(JAVA) ๐Ÿ’ก ๋ฌธ์ œ ์ •์ˆ˜๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด num_list๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list์˜ ์›์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์•Œ๊ณ ๋ฆฌ์ฆ˜: . ๐Ÿ– ๋‚ด ๋‹ต์•ˆ import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int[] solution(int[] num_list) { int[] reverse = IntStream.rangeClosed(1, num_list.length) .map(i -> num_list[num_list.length-i]) .toArray(); return reverse; } }
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ”ผ์ž ๋‚˜๋ˆ ๋จน๊ธฐ (2) (JAVA) ๐Ÿ’ก ๋ฌธ์ œ ๋จธ์“ฑ์ด๋„ค ํ”ผ์ž๊ฐ€๊ฒŒ๋Š” ํ”ผ์ž๋ฅผ ์—ฌ์„ฏ ์กฐ๊ฐ์œผ๋กœ ์ž˜๋ผ ์ค๋‹ˆ๋‹ค. ํ”ผ์ž๋ฅผ ๋‚˜๋ˆ ๋จน์„ ์‚ฌ๋žŒ์˜ ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n๋ช…์ด ์ฃผ๋ฌธํ•œ ํ”ผ์ž๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜์˜ ํ”ผ์ž ์กฐ๊ฐ์„ ๋จน์–ด์•ผ ํ•œ๋‹ค๋ฉด ์ตœ์†Œ ๋ช‡ ํŒ์„ ์‹œ์ผœ์•ผ ํ•˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ์š”๊ตฌ์‚ฌํ•ญ: 6๊ฐœ๋กœ ๋‚˜๋ˆ ์ง„ ์กฐ๊ฐ๋“ค์„ ์ด์šฉํ•˜์—ฌ n๋ช…์ด ๋™์ผํ•œ ์ˆ˜์˜ ์กฐ๊ฐ์„ ๋จน์„ ๋•Œ ํ•„์š”ํ•œ ํ”ผ์ž๊ฐ€ ์ด ๋ช‡ ํŒ์ธ ์ง€ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ์ฆ‰, ํ”ผ์ž๋ฅผ ๋ชจ๋‘ ๋˜‘๊ฐ™์€ ์ˆ˜์˜ ์กฐ๊ฐ์œผ๋กœ ๋ถ„ํ• ํ•ด์„œ ๋‚˜๋ˆ ์ค˜์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ํ”ผ์ž ์กฐ๊ฐ ์ˆ˜๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค. 6์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜๋“ค์€ ๋ชจ๋‘ 6๊ฐœ์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋“ค์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  n๋ช…์ด ๋™์ผํ•œ ์ˆ˜์˜ ์กฐ๊ฐ์„ ๋จน๋Š”๋‹ค๋ฉด, ๋ชจ๋“  ์กฐ๊ฐ์ด ๋‚˜๋ˆ ๋–จ์–ด์ง€๋Š” ์ˆ˜๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ..