[JAVA] ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ (๋ฐฑ์ค€ 12891๋ฒˆ)
ยท
โ˜•Java
์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 2๊ฐœ์˜ ํฌ์ธํ„ฐ๋กœ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ ๋‹ค์Œ ๋ฒ”์œ„๋ฅผ ์œ ์ง€ํ•œ ์ฑ„๋กœ ์ด๋™ํ•˜๋ฉฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ ๋ฒ”์œ„๊ฐ€ ์œˆ๋„์šฐ๊ฐ€ ๋˜๊ณ , ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ์Šฌ๋ผ์ด๋”ฉ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.ํˆฌ ํฌ์ธํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. 12891๋ฒˆํ‰์†Œ์— ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  ๋…ธ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ๋ฏผํ˜ธ๋Š” DNA ๋ฌธ์ž์—ด์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. DNA ๋ฌธ์ž์—ด์€ ๋ชจ๋“  ๋ฌธ์ž์—ด์— ๋“ฑ์žฅํ•˜๋Š” ๋ฌธ์ž๊ฐ€ {‘A’, ‘C’, ‘G’, ‘T’} ์ธ ๋ฌธ์ž์—ด์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด “ACKA”๋Š” DNA ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ์ง€๋งŒ “ACCA”๋Š” DNA ๋ฌธ์ž์—ด์ด๋‹ค. ์ด๋Ÿฐ ์‹ ๋น„ํ•œ ๋ฌธ์ž์—ด์— ์™„์ „ํžˆ ๋งค๋ฃŒ๋œ ๋ฏผํ˜ธ๋Š” ์ž„์˜์˜ DNA ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๊ณ  ๋งŒ๋“ค์–ด์ง„ DNA ๋ฌธ์ž์—ด์˜ ๋ถ€๋ถ„๋ฌธ์ž์—ด์„ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ๋‹ค.ํ•˜์ง€๋งŒ ๋ฏผํ˜ธ๋Š” ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์—๋Š” ํฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์ž„์˜์˜ DNA ๋ฌธ..
[JAVA] ํˆฌ ํฌ์ธํ„ฐ (๋ฐฑ์ค€ 2018๋ฒˆ, ๋ฐฑ์ค€ 1940๋ฒˆ)
ยท
โ˜•Java
ํˆฌ ํฌ์ธํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€๋ฐฐ์—ด์—์„œ ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ(์ธ๋ฑ์Šค)๋ฅผ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ์ด๋ก ์ž…๋‹ˆ๋‹ค. ๋”ฑํžˆ ํŠน๋ณ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค๋Š” ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ํŒ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.2018๋ฒˆ์–ด๋– ํ•œ ์ž์—ฐ์ˆ˜ N์€, ๋ช‡ ๊ฐœ์˜ ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋‹น์‹ ์€ ์–ด๋–ค ์ž์—ฐ์ˆ˜ N(1 ≤ N ≤ 10,000,000)์— ๋Œ€ํ•ด์„œ, ์ด N์„ ๋ช‡ ๊ฐœ์˜ ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์ง€์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ์–ดํ•œ๋‹ค. ์ด๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ์ž์—ฐ์ˆ˜๋Š” N์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, 15๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ 15, 7+8, 4+5+6, 1+2+3+4+5์˜ 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฐ˜๋ฉด์— 10์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ 10, 1+2+3+4์˜ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.N์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐ€์ง€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ: ์ฒซ ์ค„์— ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค.์ถœ๋ ฅ: ์ž…..
[JAVA] ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ (๋ฐฑ์ค€ 11659๋ฒˆ, ๋ฐฑ์ค€ 2042๋ฒˆ)
ยท
โ˜•Java
๊ตฌ๊ฐ„ ํ•ฉํ•ฉ ๋ฐฐ์—ด์„ ์ด์šฉํ•˜์—ฌ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋” ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํŠน์ˆ˜ํ•œ ๋ชฉ์ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์–ด๋– ํ•œ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, ๊ทธ ๋ฐฐ์—ด ์ค‘ ํŠน์ • ๋ฒ”์œ„์— ์žˆ๋Š” ์›์†Œ ๊ฐ’๋“ค์˜ ํ•ฉ์„ ๊ตฌ๊ฐ„ ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜๋ ค๋ฉด ํ•ฉ ๋ฐฐ์—ด์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ ๋ฐฐ์—ด S์˜ ์ •์˜๋ฐฐ์—ด A๊ฐ€ ์žˆ์„ ๋•Œ ํ•ฉ ๋ฐฐ์—ด S๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.S[i] = A[0] + A[1] + A[2] + ... + A[i-1] + A[i] // A[0]๋ถ€ํ„ฐ A[i]๊นŒ์ง€์˜ ํ•ฉ S[4]๋Š” A[0]๋ถ€ํ„ฐ A[4]๊นŒ์ง€ ๋”ํ•œ ํ•ฉ์ธ๊ฑฐ์ฃ .ํ•ฉ ๋ฐฐ์—ด์€ ๊ธฐ์กด์˜ ๋ฐฐ์—ด์„ ์ „์ฒ˜๋ฆฌํ•œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ฉ ๋ฐฐ์—ด์„ ๋ฏธ๋ฆฌ ๊ตฌํ•ด๋†“์œผ๋ฉด ๊ธฐ์กด ๋ฐฐ์—ด์˜ ์ผ์ • ๋ฒ”์œ„์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(N)์—์„œ O(1)๋กœ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ S[4] = A[..
[JAVA] ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ: ์ˆซ์ž์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ(๋ฐฑ์ค€ 11720)
ยท
โ˜•Java
๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ ์ค‘ ์–ด๋А ๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ?๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ๋Š”์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.๋‘˜์˜ ์„ฑ๊ฒฉ์œผ๋กœ ๊ณ ๋ คํ•˜์—ฌ ์–ด๋А ๊ฒƒ์„ ์‚ฌ์šฉํ• ์ง€ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ๋งŽ์€ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด์„,๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 11720๋ฒˆ๋ฌธ์ œ: N๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ๊ณต๋ฐฑ ์—†์ด ์จ์žˆ๋‹ค. ์ด ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ํ•ฉํ•ด ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ: 1๋ฒˆ์žฌ ์ค„์— ์ˆซ์ž์˜ ๊ฐœ์ˆ˜ N(1๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž…๋ ฅ์—์„œ๋Š” ๊ทธ๋ฆฌ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.554321 5+4+3+2+1์„ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๋ฌธ์ œ์—์„œ ์ฃผ์˜ํ•  ์ ์€ N์˜ ํฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.๋งŒ์•ฝ 1๋ฒˆ์งธ ์ค„์— 100์ด ์žˆ๊ณ , 2๋ฒˆ์งธ ์ค„์˜ ์ˆ˜๊ฐ€ 100๊ฐœ๊ฐ€..