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

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

Kakao 2022 Blind Test - Lv3. ํŒŒ๊ดด๋˜์ง€ ์•Š์€ ๊ฑด๋ฌผ (Java) ๋ฌธ์ œ ์š”์•ฝ ๋ฒ”์œ„์™€ degree๊ฐ€ ์ฃผ์–ด์ง€๋ฉด type์— ๋”ฐ๋ผ ๊ฑด๋ฌผ์ด ํŒŒ๊ดด๋˜๊ฑฐ๋‚˜ ํšŒ๋ณต๋œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๊ฑด๋ฌผ์˜ ๋‚ด๊ตฌ๋„๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ํŒŒ๊ดด๋˜์ง€ ์•Š์€ ๊ฑด๋ฌผ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผ. [๋ฌธ์ œ ์„ค๋ช…] N x M ํฌ๊ธฐ์˜ ํ–‰๋ ฌ ๋ชจ์–‘ ๋งต์ด ์žˆ๋‹ค. ๋‚ด๊ตฌ๋„๋ฅผ ๊ฐ€์ง„ ๊ฑด๋ฌผ์ด ๊ฐ ์นธ๋งˆ๋‹ค ์กด์žฌํ•œ๋‹ค. type์ด 1์ด๋ฉด degree ๋งŒํผ ๊ฑด๋ฌผ์˜ ๋‚ด๊ตฌ๋„๊ฐ€ ๊ฐ์†Œํ•˜๊ณ , type์ด 2์ด๋ฉด degree ๋งŒํผ ๊ฑด๋ฌผ์˜ ๋‚ด๊ตฌ๋„๊ฐ€ ํšŒ๋ณตํ•œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๊ฑด๋ฌผ์˜ ๋‚ด๊ตฌ๋„๊ฐ€ 0์ดํ•˜์ด๋ฉด ๊ฑด๋ฌผ์€ ํŒŒ๊ดด๋œ๋‹ค. ์ค‘๊ฐ„์— ๊ฑด๋ฌผ์˜ ๋‚ด๊ตฌ๋„๊ฐ€ 0์ดํ•˜์ผ์ง€๋ผ๋„ ๊ณต๊ฒฉ์„ ๋ฐ›์œผ๋ฉด ๋‚ด๊ตฌ๋„๋Š” ๊ณ„์† ๊ฐ์†Œํ•œ๋‹ค. ์ฆ‰, ์ตœ์ข… ๊ฐ’์„ ๊ทผ๊ฑฐ๋กœ ๊ฑด๋ฌผ์€ ํŒŒ๊ดด๋œ๋‹ค. [์ œํ•œ ์‚ฌํ•ญ] board(N x M): ๊ฑด๋ฌผ์˜ ๋งต(ํ–‰๊ณผ ์—ด) (1 ≤ ๊ฑด๋ฌผ์˜ ํ–‰(N) or ๊ฑด๋ฌผ์˜ ์—ด(M) ≤ 1,000, 1 ≤ ๊ฑด๋ฌผ์˜ ๋‚ด๊ตฌ๋„ ≤ 1,00.. 2022. 6. 30.
Kakao 2022 Blind Test - Lv3. ์–‘๊ณผ ๋Š‘๋Œ€ (Java) ๋ฌธ์ œ ์š”์•ฝ 2์ง„ ํŠธ๋ฆฌ ๋ชจ์–‘์ธ ์ดˆ์›์˜ ๊ฐ ๋…ธ๋“œ์— ์–‘๊ณผ ๋Š‘๋Œ€๊ฐ€ ํ•œ ๋งˆ๋ฆฌ์”ฉ ๋†“์—ฌ์žˆ๋‹ค. ๋ฃจํŠธ๋…ธ๋“œ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ ๊ฐ ๋…ธ๋“œ๋ฅผ ๋Œ์•„๋‹ค๋‹ˆ๋ฉฐ ์–‘์„ ๋ชจ์„ ๋•Œ, ์ตœ๋Œ€๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋Š” ์–‘์˜ ๊ฐœ์ˆ˜๋Š”? [๋ฌธ์ œ ์„ค๋ช…] 2์ง„ ํŠธ๋ฆฌ์˜ ๊ฐ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ์–‘๊ณผ ๋Š‘๋Œ€๋ฅผ ๋ชจ์€๋‹ค. ๋ชจ์•„์ง„ ๋Š‘๋Œ€์˜ ๊ฐœ์ˆ˜๊ฐ€ ์–‘์˜ ๊ฐœ์ˆ˜๋ณด๋‹ค ๋งŽ๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ, ๋Š‘๋Œ€๋Š” ์–‘์„ ๋ชจ๋‘ ์žก์•„ ๋จน๋Š”๋‹ค. ๊ฐ๊ฐ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋“ค์„ ๋‹ค์–‘ํ•œ ์ˆœ์„œ๋กœ ๋ฐฉ๋ฌธํ•˜์—ฌ ์ตœ๋Œ€๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋Š” ์–‘์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ. [์ œํ•œ ์‚ฌํ•ญ] info: ๋…ธ๋“œ์˜ ์ •๋ณด (0: ์–‘, 1: ๋Š‘๋Œ€) (2 ≤ info์˜ ๊ธธ์ด ≤ 17) / info[0]์€ ํ•ญ์ƒ 0์ด๋‹ค. edges: ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ ์ •๋ณด (์„ธ๋กœ ํ–‰์˜ ๊ธธ์ด = info์˜ ๊ธธ์ด - 1, ๊ฐ€๋กœ ํ–‰์˜ ๊ธธ์ด = 2) info edges result [0,0,1,1,1,0,.. 2022. 6. 25.
1. Git ๊ธฐ๋ณธ - 2. Git์˜ ์›๋ฆฌ ์ดํ•ด “์ง€์˜ฅ์—์„œ ์˜จ ๊นƒ”์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1. ๊นƒ - ๊ธฐ๋ณธ Version Control System ์ค‘ ํ•˜๋‚˜ ํŒŒ์ผ ์ด๋ฆ„์„ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. How? Commit 1) ๊นƒ์˜ 3๊ฐ€์ง€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ Backup Recovery Collaboration 2) ๊นƒ์˜ ๊ธฐ๋ณธ์  ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 1๏ธโƒฃ git init - ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด ๋ฒ„์ „๊ด€๋ฆฌ ํ•˜๊ฒ ๋‹ค. Create an empty Git repository or reinitialize an exisiting one ์ฆ‰, ๊นƒ ๋ฆฌํผ์ง€ํ† ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜, ๊ธฐ์กด์˜ ๊นƒ ๋ฆฌํผ์ง€ํ† ๋ฆฌ๋ฅผ ์žฌ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์‹ถ์„ ๋•Œ Git repository = Git ์ €์žฅ์†Œ ๋ฆฌํผ์ง€ํ† ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค. 2๏ธโƒฃ git add file - ์ด ํŒŒ์ผ์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒ .. 2022. 6. 23.
SpringBoot - build.gradle์˜ ์ดํ•ด * ์ฝ”๋“œ์˜ ์ดํ•ด buildscript { /* * ext: ์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ฒ ๋‹ค. * 'springBootVersion' ์ด๋ผ๋Š” ์ „์—ญ๋ณ€์ˆ˜์˜ ๊ฐ’์€ '2.1.7 RELEASE' ์ด๋‹ค. * */ ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() /* * jcenter(): ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋กœ๋“œ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•œ๋‹ค. * mavenCenteral์— ์˜ฌ๋ฆฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒ„์ „ ์—…๋กœ๋“œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ, jcenter()์ด ํ•„์š”ํ•˜๋‹ค. * 2022๋…„ 1์›”๋ถ€ํ„ฐ ๊ฒฐํ•จ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ๋”์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. * jcenter()์„ maven์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•ด์•ผํ•œ๋‹ค. * */ // jcenter() } dependencies { classpath("org.sp.. 2022. 6. 23.
Gradle vs. Maven Gradle๊ณผ Maven ๋ชจ๋‘ ๋นŒ๋“œ ์ž๋™ํ™” ๋„๊ตฌ๋‹ค. Maven์€ Apache์—์„œ ๋ฐฐํฌํ•˜์˜€์œผ๋ฉฐ, ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •์„ ์œ„ํ•ด pom.xml ์ด๋ผ๋Š” XML ํŒŒ์ผ์„ ์‚ฌ์šฉํ•œ๋‹ค. Gradle์€ Google์—์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ๋นŒ๋“œ ์ž๋™ํ™” ๋„๊ตฌ๋กœ 2007๋…„ ์ฒ˜์Œ ๋ฐฐํฌํ•˜์˜€๋‹ค. gradle.build๋ผ๋Š” ํŒŒ์ผ์— ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. ๊ฒฐ๋ก  Gradle Maven ๋„๋ฉ”์ธ ํŠนํ™” ์–ธ์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ๊ธฐ๋ฐ˜ ์ž๋ฐ”๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๊ธฐ๋ฐ˜ Groovy ๊ธฐ๋ฐ˜์˜ ๋„๋ฉ”์ธ ํŠนํ™” ์–ธ์–ด ์‚ฌ์šฉ (๋นŒ๋“œ๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ) * Groovy: Java ๊ฐ€์ƒ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋Š” ๋™์  ํƒ€์ž… ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด XML ์‚ฌ์šฉ ํ”„๋กœ์ ํŠธ์— ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ฑ์„ ์ฃผ์ž…ํ•˜๋Š” ๊ฒƒ์ด ์‰ฌ์›€ ์ƒˆ๋กœ์šด.. 2022. 6. 23.
๋ฐฑ์ค€ 16472 - ๊ณ ๋ƒฅ์ด(ํ•ด์‰ฌ, ํˆฌํฌ์ธํ„ฐ) ๋ฌธ์ œ: https://www.acmicpc.net/problem/16472 16472๋ฒˆ: ๊ณ ๋ƒฅ์ด ๊ณ ์–‘์ด๋Š” ๋„ˆ๋ฌด ๊ท€์—ฝ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ๊ณ ์–‘์ด๋ฅผ ๋„ˆ๋ฌด ๊ท€์—ฌ์›Œํ–ˆ๊ณ , ๊ฒฐ๊ตญ ๊ณ ์–‘์ด์™€ ๋”์šฑ ๊ฐ€๊นŒ์›Œ์ง€๊ณ  ์‹ถ์–ด ๊ณ ์–‘์ด์™€์˜ ์†Œํ†ต์„ ์œ„ํ•œ ๊ณ ์–‘์ด ๋ง ๋ฒˆ์—ญ๊ธฐ๋ฅผ ๋ฐœ๋ช…ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด ๋ฒˆ์—ญ๊ธฐ๋Š” ์‚ฌ๋žŒ์˜ ์–ธ์–ด๋ฅผ ๊ณ  www.acmicpc.net ๋ฌธ์ œ ์š”์•ฝ ๋ฒˆ์—ญ๊ธฐ์— ๋ฌธ์ž์—ด์„ ์ฃผ๋ฉด ๊ทธ ์ค‘ ์ตœ๋Œ€ N๊ฐœ ์ข…๋ฅ˜์˜ ์•ŒํŒŒ๋ฒณ์„ ๊ฐ€์ง„ ์—ฐ์†๋œ ๋ฌธ์ž์—ด๋งŒ ์ธ์‹ํ•œ๋‹ค. ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ๋ฒˆ์—ญ๊ธฐ๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๊ตฌํ•˜๋ผ. ์ œํ•œ ์กฐ๊ฑด ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์˜ ์ข…๋ฅ˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 26) 1 ≤ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ≤ 100,000) - ๋ฌธ์ž์—ด์— ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋งŒ ํฌํ•จ ์•„์ด๋””์–ด Two pointer (์™ผ์ชฝ ์ธ๋ฑ์Šค, ์˜ค๋ฅธ์ชฝ ์ธ๋ฑ์Šค) ์˜ค๋ฅธ.. 2022. 6. 23.
"์œ ํŠœ๋ธŒ ์‡ผ์ธ  1๋…„ ์ƒˆ 4๋ฐฐ์”ฉ ์„ฑ์žฅ..." - ์กฐ์„ ์ผ๋ณด ๊ธฐ์‚ฌ๋ฅผ ์š”์•ฝํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ  ๊ธฐ์‚ฌ๋Š” ๋งจ ํ•˜๋‹จ์— ๋งํฌ๋กœ ์ฒจ๋ถ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณณ์œผ๋กœ ์žฌ๋ฐฐํฌ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. 0. Short-Form (์ˆํผ) ์ด๋ž€? ํ‰๊ท  15์ดˆ์—์„œ ์ตœ๋Œ€ 10๋ถ„์„ ๋„˜๊ธฐ์ง€ ์•Š๋Š” ์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ํ”Œ๋žซํผ ํ‹ฑํ†ก ์ธ์Šคํƒ€๊ทธ๋žจ๏ผŽํŽ˜์ด์Šค๋ถ ๋ฆด๋ฆฌ์Šค ์œ ํŠœ๋ธŒ ์‡ผ์ธ  ์ˆํผ ์ปจํ…์ธ  ์ œ์ž‘์„ ์œ„ํ•œ ์„ฑ๊ณต ์ „๋žต ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๊ด€์‹ฌ ๋Œ๊ธฐ ํ•œ ๊ฐ€์ง€ ๋ฉ”์‹œ์ง€ ๋‹ด๊ธฐ ํŠธ๋ Œ๋“œ ๋”ฐ๋ฅด๊ธฐ 1. ํ‹ฑํ†ก์˜ ์ธ๊ธฐ ๋ถ€์ƒ ํ‹ฑํ†ก: ์˜์ƒ ์ œ์ž‘๊ณผ ๊ณต์œ ๊ฐ€ ์‰ฌ์šด ์ˆํผ ํ”Œ๋žซํผ ์ฝ”๋กœ๋‚˜ 19 ๋‹น์‹œ ์ฝ˜ํ…์ธ  ์†Œ๋น„๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ MZ์„ธ๋Œ€ ์ค‘์‹ฌ์œผ๋กœ ์ธ๊ธฐ๊ฐ€ ํ™•์‚ฐ MZ ์„ธ๋Œ€: ๋ฐ€๋ ˆ๋‹ˆ์–ผ + Z ์„ธ๋Œ€ (1981๋…„์ƒ ~ 2010๋…„์ƒ) 2. ์œ ํŠœ๋ธŒ ์ „๋žต ๋„ทํ”Œ๋ฆญ์Šค์˜ ๋ถ€์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์„œ๋น„์Šค - ์œ ํŠœ๋ธŒ ์˜ค๋ฆฌ์ง€๋„ (2016 ~) ์‹ค์ œ ํšจ๊ณผ๋ฅผ ๊ฑฐ๋‘์ง€ ๋ชปํ•˜์ž ์‚ฌ์—…์„ ์ ‘๊ณ  ์ˆ˜์ต์„ฑ.. 2022. 6. 19.