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

Programming/Algorithm

(20)
[Java] ์ž๋ฐ”์˜ ์ด์ง„ ์—ฐ์‚ฐ(๋น„ํŠธ ์—ฐ์‚ฐ) OR ์—ฐ์‚ฐ๊ณผ AND ์—ฐ์‚ฐOR ์—ฐ์‚ฐ์€ ์ด์ง„์ˆ˜์˜ ๊ฐ ์ž๋ฆฌ์ˆ˜๊ฐ€ ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜๋Š” 1, ์•„๋‹ˆ๋ฉด 0์„ ๋ฆฌํ„ดAND ์—ฐ์‚ฐ์€ ์ด์ง„์ˆ˜์˜ ๊ฐ ์ž๋ฆฌ์ˆ˜ ๋ชจ๋‘๊ฐ€ 1์ด๋ฉด ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜๋Š” 1, ์•„๋‹ˆ๋ฉด 0์„ ๋ฆฌํ„ด public static void main(String []args) { int n1 = 4; // 100 int n2 = 5; // 101 // OR ์—ฐ์‚ฐ int n3 = n1 | n2; // 101 -> 5 // AND ์—ฐ์‚ฐ int n4 = n1 & n2; // 100 -> 4 System.out.println(n3); System.out.println(n4); } ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์ด์ง„์ˆ˜์˜ ๋น„ํŠธ๋ฅผ ์›ํ•˜๋Š” ๊ฐ’๋งŒํผ ์ด๋™์‹œํ‚ค๋Š” ์—ฐ์‚ฐ public static void ma..
[Java] Softeer Level 2- "GPT์‹ ์ˆซ์ž ๋น„๊ต" ์ž๋ฐ” ํ’€์ด ๋ฌธ์ œ์–ผ๋งˆ ์ „ GPT์˜ ์‹ค์ˆ˜ ๋น„๊ต ๋ฐฉ์‹์ด ํ™”์ œ๊ฐ€ ๋œ ์ ์ด ์žˆ์—ˆ๋‹ค.์งˆ๋ฌธ) "3.9์™€ 3.11 ์ค‘์— ๋ญ๊ฐ€ ๋” ์ปค?" / ๋‹ต๋ณ€) "3.11์ด ๋” ํฝ๋‹ˆ๋‹ค."์ˆ˜ํ•™ ์‹œ๊ฐ„์— ์กธ์ง€ ์•Š์€ ์‚ฌ๋žŒ๋“ค์€ 3.9๊ฐ€ 3.11๋ณด๋‹ค ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, GPT์˜ ๋ˆˆ์œผ๋กœ ๋ณด๋ฉด Python 3.9์™€ Python 3.11 ์ค‘ ํ›„์ž๋ฅผ ๋” ํฌ๊ฒŒ ๋ณด๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„ ์ €๋ ‡๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. GPT์˜ ์„ธ์ƒ์—์„œ 3.1์€ 3๋ณด๋‹ค ํฌ๊ณ , ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 3.9๋Š” 3.2๋ณด๋‹ค ํฌ์ง€๋งŒ, 3.10์€ 3.2๋ณด๋‹ค ํฐ ๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.๊ตฌ์ฒด์ ์œผ๋กœ, ์†Œ์ˆ˜์ ์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์„ ์ˆ˜๋กœ ์ฝ์€ ๊ฐ’์„ x, ์˜ค๋ฅธ์ชฝ์„ ์ˆ˜๋กœ ์ฝ์€ ๊ฐ’์„ y๋ผ๊ณ  ํ•  ๋•Œ ๋‘ ์ˆ˜์˜ ๋น„๊ต๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด๋ฃจ์–ด์ง„๋‹ค:x๊ฐ’์ด ๋” ์ž‘์œผ๋ฉด ๋” ์ž‘์€ ์ˆ˜์ด๋‹ค.x๊ฐ’์ด ๊ฐ™์„ ๊ฒฝ์šฐ y๊ฐ’์ด ๋” ์ž‘์œผ๋ฉด ๋” ์ž‘์€ ์ˆ˜์ด๋‹ค.์†Œ์ˆ˜์ ์ด ์—†๋Š”..
[Kotlin] ๋ฐฑ์ค€ 2504 ๊ด„ํ˜ธ์˜ ๊ฐ’ ์ฝ”ํ‹€๋ฆฐ ํ’€์ด - stack ๋ฌธ์ œ4๊ฐœ์˜ ๊ธฐํ˜ธ โ€˜(โ€™, โ€˜)โ€™, โ€˜[โ€™, โ€˜]โ€™๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ด„ํ˜ธ์—ด ์ค‘์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.ํ•œ ์Œ์˜ ๊ด„ํ˜ธ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ โ€˜()โ€™์™€ โ€˜[]โ€™๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋‹ค.๋งŒ์ผ X๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ฉด โ€˜(X)โ€™์ด๋‚˜ โ€˜[X]โ€™๋„ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค.X์™€ Y ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ผ๋ฉด ์ด๋“ค์„ ๊ฒฐํ•ฉํ•œ XY๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด โ€˜(()[[]])โ€™๋‚˜ โ€˜(())[][]โ€™ ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด์ง€๋งŒ โ€˜([)]โ€™ ๋‚˜ โ€˜(()()[]โ€™ ์€ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ์•„๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด X์— ๋Œ€ํ•˜์—ฌ ๊ทธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’(๊ด„ํ˜ธ๊ฐ’)์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ๊ฐ’(X)๋กœ ํ‘œ์‹œํ•œ๋‹ค.โ€˜()โ€™ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 2์ด๋‹ค.โ€˜[]โ€™ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 3์ด๋‹ค.โ€˜(X)โ€™ ์˜ ๊ด„ํ˜ธ๊ฐ’์€ 2ร—๊ฐ’(X) ์œผ๋กœ ๊ณ„..
[Kotlin] ๋ฐฑ์ค€ 14888 - ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ(์žฌ๊ท€์™„์ „ํƒ์ƒ‰ DFS, ๋ฐฑํŠธ๋ž˜ํ‚น) ๋ฌธ์ œN๊ฐœ์˜ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด A1, A2, ..., AN์ด ์ฃผ์–ด์ง„๋‹ค. ๋˜, ์ˆ˜์™€ ์ˆ˜ ์‚ฌ์ด์— ๋ผ์›Œ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” N-1๊ฐœ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์—ฐ์‚ฐ์ž๋Š” ๋ง์…ˆ(+), ๋บ„์…ˆ(-), ๊ณฑ์…ˆ(ร—), ๋‚˜๋ˆ—์…ˆ(รท)์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.์šฐ๋ฆฌ๋Š” ์ˆ˜์™€ ์ˆ˜ ์‚ฌ์ด์— ์—ฐ์‚ฐ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋„ฃ์–ด์„œ, ์ˆ˜์‹์„ ํ•˜๋‚˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ, ์ฃผ์–ด์ง„ ์ˆ˜์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๋ฉด ์•ˆ ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, 6๊ฐœ์˜ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด 1, 2, 3, 4, 5, 6์ด๊ณ , ์ฃผ์–ด์ง„ ์—ฐ์‚ฐ์ž๊ฐ€ ๋ง์…ˆ(+) 2๊ฐœ, ๋บ„์…ˆ(-) 1๊ฐœ, ๊ณฑ์…ˆ(ร—) 1๊ฐœ, ๋‚˜๋ˆ—์…ˆ(รท) 1๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” ์ด 60๊ฐ€์ง€์˜ ์‹์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์€ ์‹์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.1+2+3-4ร—5รท61รท2+3+4-5ร—61+2รท3ร—4-5+61รท2ร—3-4+5+6์‹์˜ ๊ณ„์‚ฐ์€ ์—ฐ์‚ฐ์ž ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋ฌด์‹œํ•˜..
[Kotlin] ๋ฐฑ์ค€ 1978 ์†Œ์ˆ˜ ์ฐพ๊ธฐ ๋ฌธ์ œ์ฃผ์–ด์ง„ ์ˆ˜ N๊ฐœ ์ค‘์—์„œ ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ฐพ์•„์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ์ฒซ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100์ดํ•˜์ด๋‹ค. ๋‹ค์Œ์œผ๋กœ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ˆ˜๋Š” 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.์ถœ๋ ฅ์ฃผ์–ด์ง„ ์ˆ˜๋“ค ์ค‘ ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต์‚ฌ41 3 5 7์˜ˆ์ œ ์ถœ๋ ฅ 1 ๋ณต์‚ฌ3 ํ’€์ด์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์€ "์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด" ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ํ•ต์‹ฌ์€ "์†Œ์ˆ˜์˜ ๋ฐฐ์ˆ˜๋Š” ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค" ์ด๋‹ค. 1๋ถ€ํ„ฐ ์ตœ๋Œ“๊ฐ’(์—ฌ๊ธฐ์„œ๋Š” 1000)๊นŒ์ง€ ๋ฏธ๋ฆฌ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•ด๋†“๋Š”๋‹ค.1~N์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€ ๋‘๋ฒˆ์˜ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ตœ๋Œ€ N๊นŒ์ง€ ์ˆ˜ํ–‰๋˜๋ฉฐ, O(N)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค. ์ฝ”ํ‹€๋ฆฐ ํ’€์ด ์ฝ”๋“œimport java.util.*fun main() = with(System.`in`.bufferedReade..
[Kotlin] ๋ฐฑ์ค€ 1292 - ์‰ฝ๊ฒŒ ํ‘ธ๋Š” ๋ฌธ์ œ 1. ๋ฌธ์ œ๋™ํ˜ธ๋Š” ๋‚ด๋…„์— ์ดˆ๋“ฑํ•™๊ต๋ฅผ ์ž…ํ•™ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋™ํ˜ธ ์–ด๋จธ๋‹ˆ๋Š” ์ˆ˜ํ•™ ์„ ํ–‰ ํ•™์Šต์„ ์œ„ํ•ด ์‰ฝ๊ฒŒ ํ‘ธ๋Š” ๋ฌธ์ œ๋ฅผ ๋™ํ˜ธ์—๊ฒŒ ์ฃผ์—ˆ๋‹ค.์ด ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1์„ ํ•œ ๋ฒˆ, 2๋ฅผ ๋‘ ๋ฒˆ, 3์„ ์„ธ ๋ฒˆ, ์ด๋Ÿฐ ์‹์œผ๋กœ 1 2 2 3 3 3 4 4 4 4 5 .. ์ด๋Ÿฌํ•œ ์ˆ˜์—ด์„ ๋งŒ๋“ค๊ณ  ์–ด๋Š ์ผ์ •ํ•œ ๊ตฌ๊ฐ„์„ ์ฃผ๋ฉด ๊ทธ ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.ํ•˜์ง€๋งŒ ๋™ํ˜ธ๋Š” ํ˜„์žฌ ๋” ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š๋ผ ๋ฐ”์˜๊ธฐ์— ์šฐ๋ฆฌ๊ฐ€ ๋™ํ˜ธ๋ฅผ ๋„์™€์ฃผ์ž.2. ์ž…๋ ฅ์ฒซ์งธ ์ค„์— ๊ตฌ๊ฐ„์˜ ์‹œ์ž‘๊ณผ ๋์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ A, B(1 โ‰ค A โ‰ค B โ‰ค 1,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฆ‰, ์ˆ˜์—ด์—์„œ A๋ฒˆ์งธ ์ˆซ์ž๋ถ€ํ„ฐ B๋ฒˆ์งธ ์ˆซ์ž๊นŒ์ง€ ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.3. ํ’€์ด (์ƒ๊ฐ์˜ ํ๋ฆ„)1. ๊ตฌ๊ฐ„์˜ ํ•ฉ -> 3~7 ๊ตฌ๊ฐ„์˜ ํ•ฉ์ด๋ž€, 7๊นŒ์ง€ ๋ˆ„์ ๋œ ํ•ฉ - 2๊นŒ์ง€ ๋ˆ„์ ๋œ ํ•ฉ๊ณผ ๋™์ผํ•˜๋‹ค2. 3~7๊ตฌ๊ฐ„์˜ ..
[Kotlin] ๋ฐฑ์ค€ 2693 - N๋ฒˆ์งธ ํฐ ์ˆ˜ ๋ฌธ์ œ๋ฐฐ์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, N๋ฒˆ์งธ ํฐ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.๋ฐฐ์—ด A์˜ ํฌ๊ธฐ๋Š” ํ•ญ์ƒ 10์ด๊ณ , ์ž์—ฐ์ˆ˜๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. N์€ ํ•ญ์ƒ 3์ด๋‹ค.์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 โ‰ค T โ‰ค 1,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋ฐฐ์—ด A์˜ ์›์†Œ 10๊ฐœ๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ์ด ์›์†Œ๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.ํ’€์ด1. ์ˆซ์žํ˜• ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•œ๋‹ค.2. n๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ฐพ์•„๋‚ด๋Š”๊ฒƒ -> ์ •๋ ฌ์„ ๊ณ ๋ คํ•œ๋‹ค. -> ๊ธฐ๋ณธ 1ํšŒ ์ •๋ ฌ๋กœ ํ’€์ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.3. ๋‚ด๋ถ€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(nlog(n))์œผ๋กœ ์‹œ๊ฐ„ ์•ˆ์œผ๋กœ ํ’€์ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ฑ„ํƒํ•œ๋‹ค.์†Œ์Šคimport java.util.*fun main() = with(System.`in`..
[Kotlin] ๋ฐฑ์ค€ 2609 - ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•) ๋ฌธ์ œ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ฒซ์งธ ์ค„์—๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๋‘˜์€ 10,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋ฉฐ ์‚ฌ์ด์— ํ•œ ์นธ์˜ ๊ณต๋ฐฑ์ด ์ฃผ์–ด์ง„๋‹ค.ํ’€์ด1. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” ํฐ๊ฐ’์„ ์ž‘์€๊ฐ’์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ๋‚˜๋จธ์ง€๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๋Š” ์ฒซ ์‹œ์ ์˜ ๊ฐ’์ด๋‹ค.2. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์•Œ๊ณ ์žˆ๋ƒ๋Š” ๋ฌธ์ œ์ด๋‹ค.์ฝ”๋“œimport java.util.*fun main() = with(Scanner(System.`in`)) { var n1: Int = nextInt() var n2: Int = nextInt() val m: Int // ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ // ์˜ˆ์™ธ์ฒ˜๋ฆฌ n1 > n2๋กœ ๋ณ€ํ™˜ if(n2 > n1){ val temp ..

728x90