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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(106)
[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] ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์œ„ํ•œ ์ฝ”ํ‹€๋ฆฐ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐฐ์—ด // ๋ฐฐ์—ด ์ดˆ๊ธฐํ™” val array1 = arrayOf(1, 2, 3) val array2 = Array(3) {0} println(array1.joinToString()) // 1, 2, 3 println(array2.joinToString()) // 0, 0, 0 array2[0] = 1 // 0 ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ 1๋กœ ๋ณ€๊ฒฝ println(array2.joinToString()) // 1, 0, 0 // ArrayList ์ƒ์„ฑ val list = ArrayList() list.add(1) list.add(2) println(list) // 1, 2  ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉฐ, Mu..
[Spring] redis ๋ถ„์‚ฐ ๋ฝ ์ „๋žต์„ ํ†ตํ•œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ(์„ ์ฐฉ์ˆœ, ๋”ํ‹ฐ ๋ฆฌ๋“œ, ํŒฌํ…€ ๋ฆฌ๋“œ) Spring๊ณผ Redis๋ฅผ ํ™œ์šฉํ•œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ ๋ฐ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑํ˜„๋Œ€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์€ ํฐ ๋„์ „ ๊ณผ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.  ์‹ค์ œ๋กœ ๋ฌด์ž‘์œ„ ํฌ์ธํŠธ(๋žœ๋ค ํฌ์ธํŠธ) ์ง€๊ธ‰ ์ด๋ฒคํŠธ๋ฅผ ๊ฐœ๋ฐœํ–ˆ๋˜ ๊ฒฝํ—˜์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ๊ธ€์„ ์ž‘์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.1. ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ์˜ ํ•„์š”์„ฑ๋™์‹œ์„ฑ์ด๋ž€ ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ์˜ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์ถฉ๋Œ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์ด ์ €ํ•ด๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. Spring์—์„œ์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€Spring์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์„ค์ •ํ•˜์—ฌ..
[Linux] CI/CD ๊ฐœ์„ : Jenkins๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ํ™” ๋ฐฐํฌ ์‹œ์Šคํ…œ ๊ตฌ์ถ•(nonub) โ–  ๋ฐฐ๊ฒฝํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์กด CI/CD ์‹œ์Šคํ…œ์—์„œ๋Š” Jenkins๋ฅผ ํ†ตํ•ด ๋นŒ๋“œ๋œ ํŒŒ์ผ์ด ์„œ๋ฒ„๋กœ ์˜ฎ๊ฒจ์ง€๋Š” ๊ตฌ์กฐ๊ฐ€ ์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฐํฌ ๊ณผ์ •์€ ์—ฌ์ „ํžˆ ์ˆ˜์ž‘์—…์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๊ณ , ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์„œ๋ฒ„์— ์›๊ฒฉ ์ ‘์†ํ•˜์—ฌ ๊ฐ ๋„๋ฉ”์ธ์— ๋งž๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ๋ถˆํŽธํ•จ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ์ž๋“ค์˜ ์ƒ์‚ฐ์„ฑ์„ ์ €ํ•˜์‹œํ‚จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๊ฐœ์„ ์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.โ–  ๊ฐœ์„  ๋ชฉํ‘œ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์ €๋Š” CI/CD ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ๋ฐฐํฌ ๊ณผ์ •์—์„œ์˜ ์ธ์  ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ , ์—…๋ฌด ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Jenkins๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ์••์ถ•๋œ ๋นŒ๋“œํŒŒ์ผ์„ ํƒ€๊ฒŸ์„œ๋ฒ„์ธ linux์˜ nonub ์ด์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์‹œํ‚ค๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.โ– ..

728x90