ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ณด์„ ์‡ผํ•‘
ยท
Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/67258 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ์ง„์—ด๋Œ€ ๋ฒˆํ˜ธ 1 2 3 4 5 6 7 8 ๋ณด์„ ์ด๋ฆ„ DIA RUBY RUBY DIA DIA EMERAID SAPPAIRE DIA ๋ชจ๋“  ๋ฒ”์œ„์˜ ๋ณด์„ 1๊ฐœ์ด์ƒ ํฌํ•จํ•˜๋Š” ์งง์€ ๊ตฌ๊ฐ„(์‹œ์ž‘์ , ๋์ ) ๊ตฌํ•˜๊ธฐ ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ์‹œ์ž‘ ์ž‘์€ ๊ตฌ๊ฐ„ ์ œํ•œ์‚ฌํ•ญ ๋ฐฐ์—ด ํฌ๊ธฐ : 1 ์ด์ƒ 100,000 ์ดํ•˜ ํ’€์ด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 10๋งŒ์œผ๋กœ O(N^2)์œผ๋กœ ํ‘ผ๋‹ค๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค. ๊ฐ€์žฅ ์งง์€ ๊ตฌ๊ฐ„์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋กœ ..
๋ฐฑ์ค€ 1253๋ฒˆ : ์ข‹๋‹ค
ยท
Algorithm/๋ฐฑ์ค€
https://www.acmicpc.net/problem/1253 1253๋ฒˆ: ์ข‹๋‹ค ์ฒซ์งธ ์ค„์—๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 2,000), ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Ai๊ฐ€ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. (|Ai| ≤ 1,000,000,000, Ai๋Š” ์ •์ˆ˜) www.acmicpc.net ๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜ ์ค‘์—์„œ ์–ด๋–ค ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ์ˆ˜ ๋‘ ๊ฐœ์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ์ˆ˜๋ฅผ “์ข‹๋‹ค(GOOD)”๊ณ  ํ•œ๋‹ค. N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ค‘์—์„œ ์ข‹์€ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ์ธ์ง€ ์ถœ๋ ฅํ•˜๋ผ. ์ˆ˜์˜ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๊ฐ’์ด ๊ฐ™์•„๋„ ๋‹ค๋ฅธ ์ˆ˜์ด๋‹ค. ์ œํ•œ์‚ฌํ•ญ N(1 ≤ N ≤ 2,000) i๋ฒˆ์งธ ์ˆ˜ : |Ai| ≤ 1,000,000,000 ํ’€์ด ์ฒ˜์Œ์— ๋– ์˜ค๋ฅธ ํ’€์ด๋Š” ์ด์ค‘ for๋ฌธ์„ ๋Œ๋ ค ๋‘ ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๊ณ , ๊ทธ ์ˆ˜๊ฐ€ ๋ฐฐ์—ด์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ..
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ทค ๊ณ ๋ฅด๊ธฐ
ยท
Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/138476 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ๊ฒฝํ™”๋Š” ๊ณผ์ˆ˜์›์—์„œ ๊ทค์„ ์ˆ˜ํ™•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝํ™”๋Š” ์ˆ˜ํ™•ํ•œ ๊ทค ์ค‘ 'k'๊ฐœ๋ฅผ ๊ณจ๋ผ ์ƒ์ž ํ•˜๋‚˜์— ๋‹ด์•„ ํŒ๋งคํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ˆ˜ํ™•ํ•œ ๊ทค์˜ ํฌ๊ธฐ๊ฐ€ ์ผ์ •ํ•˜์ง€ ์•Š์•„ ๋ณด๊ธฐ์— ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๊ฒฝํ™”๋Š” ๊ทค์„ ํฌ๊ธฐ๋ณ„๋กœ ๋ถ„๋ฅ˜ํ–ˆ์„ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒฝํ™”๊ฐ€ ์ˆ˜ํ™•ํ•œ ๊ทค 8๊ฐœ์˜ ํฌ๊ธฐ๊ฐ€ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๊ฒฝํ™”๊ฐ€ ๊ทค 6๊ฐœ๋ฅผ ํŒ๋งคํ•˜๊ณ  ..
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์กฐ์ด์Šคํ‹ฑ
ยท
Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/42860 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ ์•ŒํŒŒ๋ฒณ ์ด๋ฆ„์„ ์™„์„ฑํ•˜์„ธ์š”. ๋งจ ์ฒ˜์Œ์—” A๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ex) ์™„์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด๋ฆ„์ด ์„ธ ๊ธ€์ž๋ฉด AAA, ๋„ค ๊ธ€์ž๋ฉด AAAA ์กฐ์ด์Šคํ‹ฑ์„ ๊ฐ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ–ฒ - ๋‹ค์Œ ์•ŒํŒŒ๋ฒณ โ–ผ - ์ด์ „ ์•ŒํŒŒ๋ฒณ (A์—์„œ ์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด Z๋กœ) โ—€ - ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ (์ฒซ ๋ฒˆ์งธ ์œ„์น˜์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์— ์ปค์„œ) โ–ถ - ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ (๋งˆ์ง€..
๋ฐฑ์ค€ 10159๋ฒˆ - ์ €์šธ
ยท
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ
https://www.acmicpc.net/problem/10159 10159๋ฒˆ: ์ €์šธ ์ฒซ ์ค„์—๋Š” ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜ N ์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„์—๋Š” ๋ฏธ๋ฆฌ ์ธก์ •๋œ ๋ฌผ๊ฑด ์Œ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 5 ≤ N ≤ 100 ์ด๊ณ , 0 ≤ M ≤ 2,000์ด๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์— ๋ฏธ๋ฆฌ ์ธก์ •๋œ ๋น„๊ต ๊ฒฐ๊ณผ๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ www.acmicpc.net ๋ฌธ์ œ ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜ N ๊ณผ ์ผ๋ถ€ ๋ฌผ๊ฑด ์Œ์˜ ๋น„๊ต ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ ๋ฌผ๊ฑด์— ๋Œ€ํ•ด์„œ ๊ทธ ๋ฌผ๊ฑด๊ณผ์˜ ๋น„๊ต ๊ฒฐ๊ณผ๋ฅผ ์•Œ ์ˆ˜ ์—†๋Š” ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅ ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด 6๊ฐœ์˜ ๋ฌผ๊ฑด์ด ์žˆ๊ณ , ๋‹ค์Œ 5๊ฐœ์˜ ๋น„๊ต ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ([1]์€ 1๋ฒˆ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.) [1]>[2], [2]>[3], [3]>[4], [5]>[4], [6]>[5] ์šฐ๋ฆฌ๋Š” [2]>[3], [..
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‘ ํ ํ•ฉ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๊ธฐ
ยท
Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/118667 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ํ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•˜๋‚˜์˜ ํ๋ฅผ ๊ณจ๋ผ ์›์†Œ๋ฅผ ์ถ”์ถœ(pop)ํ•˜๊ณ , ์ถ”์ถœ๋œ ์›์†Œ๋ฅผ ๋‹ค๋ฅธ ํ์— ์ง‘์–ด๋„ฃ๋Š”(insert) ์ž‘์—…์„ ํ†ตํ•ด ๊ฐ ํ์˜ ์›์†Œ ํ•ฉ์ด ๊ฐ™๋„๋ก ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ์ž‘์—…์˜ ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ํ•œ ๋ฒˆ์˜ pop๊ณผ ํ•œ ๋ฒˆ์˜ insert๋ฅผ ํ•ฉ์ณ์„œ ์ž‘์—…์„ 1ํšŒ ์ˆ˜ํ–‰ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ ๊ฐ ํ์˜ ์›์†Œ ํ•ฉ์„ ๊ฐ™๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, -1์„ return ์ œํ•œ์‚ฌํ•ญ ๊ธธ์ด๊ฐ€ ๊ฐ™์€..
giraffe_
๐ŸŒฑ ๋ฌด๋Ÿญ๋ฌด๋Ÿญ ์ž๋ผ๋‚˜๋Š” ๊ฐœ๋ฐœ ๊ธฐ๋ก