[Java] ๋ฐฑ์ค€ 7453๋ฒˆ - ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜

https://www.acmicpc.net/problem/7453 7453๋ฒˆ: ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜ ์ฒซ์งธ ์ค„์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ n (1 ≤ n ≤ 4000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ ์ค„์—๋Š” A, B, C, D์— ํฌํ•จ๋˜๋Š” ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ์„œ ์ฃผ์–ด์ง„๋‹ค. ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ ์ตœ๋Œ€ 228์ด๋‹ค. www.acmicpc.net [๋ฌธ์ œ] [ํ’€์ด] 4๊ฐœ ์กฐํ•ฉ์„ ์ƒ์„ฑํ•˜์—ฌ ๊ณ„์‚ฐ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์™€์„œ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์ดํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://skdltm117.tistory.com/49 [๋ฐฑ์ค€] 7453๋ฒˆ - ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜ (java) Baekjoon 7453 - ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜ (ํด๋ฆญ ์‹œ ์ด๋™) ๋ฌธ์ œ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ๋ฐฐ์—ด A, B, C, D๊ฐ€ ์žˆ๋‹ค. A[..

Algorithm/Baekjoon 2022. 6. 28. 22:11
[Java] ๋ฐฑ์ค€ 9466๋ฒˆ - ํ…€ ํ”„๋กœ์ ํŠธ

[๋ฌธ์ œ] [ํ’€์ด] ํŒ€์„ ๊ฒฐ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„ , ๊ฒฐ๊ตญ ๋ฃจํ”„๋ฅผ ๋Œ์•„์•ผ ํ•œ๋‹ค๋Š” ์กฐ๊ฑด์„ ๋– ์˜ฌ๋ฆฌ๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด d -> a -> b -> c - > a ๋ฃจํ”„๊ฐ€ ๋ˆ๋‹ค๋ฉด, a๋ฅผ ๋งŒ๋‚ฌ์„๋•Œ ์ด์ „ [d,a,b,c]์ค‘์— a๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ๋ฃจํ”„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, a์˜ index๋ถ€ํ„ฐ ํŒ€์„ ๊ฒฐ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. student[]์— index์—์„œ ์ด๋™ํ•  ์ˆซ์ž๋ฅผ ์ €์žฅ ๋งŒ์•ฝ index -> index ๋ผ๋ฉด, ํ˜ผ์ž ํŒ€์„ ์ด๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— total++ ์„ ํ†ตํ•ด 1๋ช…์˜ ํŒ€์„ ๊ฒฐ์„ฑํ•˜๊ณ , visit[index] = true๋ฅผ ํ†ตํ•ด ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ findTeam(student, N)์„ ํ†ตํ•ด student๋ฐฐ์—ด์„ ๋Œ๋ฉฐ, ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ํ•™์ƒ๋“ค๋งŒ while๋ฌธ์„ ํ†ตํ•ด ํŒ€ ๊ฒฐ์„ฑ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์ง€๋‚˜์˜จ ํ•™์ƒ๋“ค์˜ ArrayLi..

Algorithm/Baekjoon 2022. 6. 28. 21:52
[Design Pattern] GoF(Gang of Four) ๋””์ž์ธ ํŒจํ„ด ์ข…๋ฅ˜

๋””์ž์ธ ํŒจํ„ด์ด๋ž€? ๋””์ž์ธ ํŒจํ„ด์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์—์„œ ๊ณตํ†ต์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž์ฃผ ์“ฐ์ด๋Š” ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•œ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์˜ ์„ธ๋ถ„ํ™”๋œ ์—ญํ• ์ด๋‚˜ ๋ชจ๋“ˆ๋“ค ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ๋ฐฉ์‹์„ ์„ค๊ณ„ํ• ๋•Œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์ „ํ˜•์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ์‹์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋””์ž์ธ ํŒจํ„ด์€ ํ•œ ํŒจํ„ด์— ๋ณ€ํ˜•์„ ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์–ด๋– ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋ฉด ๋‹ค๋ฅธ ํŒจํ„ด์œผ๋กœ ๋ณ€ํ˜•๋˜๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. *ํŒจํ„ด : ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ๋™์ผํ•œ ์–‘์‹ ๋˜๋Š” ์œ ํ˜•๋“ค์ด ๋ฐ˜๋ณต๋˜์–ด ๋‚˜ํƒ€๋‚จ, ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ์ฑ…๋„ ๋™์ผํ•œ ์œ ํ˜•์ด๋‚˜ ์–‘์‹์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ฐพ์Œ ๋””์ž์ธ ํŒจํ„ด์˜ ์žฅ๋‹จ์  ์žฅ์  : ๊ฐœ๋ฐœ์˜ ํšจ์œจ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ์šด์šฉ์„ฑ์ด ๋†’์•„์ง€๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅ(๋ถˆํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„ ๋ฐฉ์ง€) ๋‹จ์  : ์ดˆ๊ธฐ ํˆฌ์ž ๋น„์šฉ์˜ ๋ถ€๋‹ด ๋””์ž์ธ ํŒจํ„ด์˜ ๊ตฌ์„ฑ ์š”์†Œ context..

CS/Design Pattern 2022. 6. 28. 21:11
[JavaScript] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๋™์ž‘ ๋ฐฉ์‹

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ JavaScript, Python, Java์™€ ๊ฐ™์€ ํ•˜์ด ๋ ˆ๋ฒจ ์–ธ์–ด๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, C์–ธ์–ด ๊ฐ™์€ ๋กœ์šฐ ๋ ˆ๋ฒจ ์–ธ์–ด์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์œ„ํ•ด mallock()๊ณผ free()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. *๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Garbage Collection) ์“ธ๋ชจ ์—†์–ด์ง„ ๊ฐ์ฒด๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด์ œํ•˜๋Š” ๊ฒƒ - ์žฅ์  : ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. - ๋‹จ์  : ์–ธ์ œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ง„ํ–‰๋ ์ง€ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๊ณ , ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋“ ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ƒ์กด์ฃผ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์กด์ฃผ๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ด€๊ณ„์—†์ด ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. 1. ํ•„์š”ํ•  ๋•Œ ํ• ๋‹น 2. ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉ(์ฝ๊ธฐ, ์“ฐ๊ธฐ) 3. ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š” ์—†์–ด์ง€๋ฉด ํ•ด์ œ ์ด..

JavaScript 2022. 6. 20. 21:23
[JavaScript] ์“ฐ๋ ˆ๋“œ(Thread)

์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ(Single Thread) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์ธ ์ด๋ฒคํŠธ ๋ฃจํ”„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์‹ฑ๊ธ€์“ฐ๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ด๋ฒคํŠธ ๋ฃจํ”„๋งŒ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €๋‚˜ Node.JS๊ฐ™์€ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž์ฒด๋Š” ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ์ด์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„์€ ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์•„๋‹˜! (** ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋Š” ๋ณดํ†ต ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์กŒ์žˆ์Œ) ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๋กœ ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ(Asynchronous) ๊ธฐ์กด ๋™๊ธฐ์‹ ์š”์ฒญ์€ ์ฝ”๋“œ๋ฅผ ํ•œ์ค„ ํ•œ์ค„ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•ž์˜ ์ž‘์—…์‹œ๊ฐ„์ด ๊ธธ์ˆ˜๋ก ์‹œ๊ฐ„ ๋ฐ ์ž์›์˜ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•ด์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ์š”์ฒญ์ด ์™„๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋™์‹œ์— ๋‹ค๋ฅธ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋น„๋™๊ธฐ ํ˜ธ์ถœ๋กœ ์ด๋ฅผ..

JavaScript 2022. 6. 20. 20:32
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ถ”์„ ํŠธ๋ž˜ํ”ฝ

[๋ฌธ์ œ] [ํ’€์ด] ๊ฐ ์ž…๋ ฅ์˜ ์‹œ์ž‘์‹œ๊ฐ„~๋๋‚œ์‹œ๊ฐ„์„ 0.001์ดˆ ๋‹จ์œ„๋กœ ๋ชจ๋‘ ํ™•์ธํ•˜์˜€์ง€๋งŒ ์—ญ์‹œ๋‚˜ ์‹œ๊ฐ„์ดˆ๊ณผ์˜€๊ณ  ๊ฒฐ๊ตญ ํ•ด๋‹น ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://geunzrial.tistory.com/26 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 3๋‹จ๊ณ„ ์ถ”์„ํŠธ๋ž˜ํ”ฝ[java] ๋ฌธ์ œ ์ด๋ฒˆ ์ถ”์„์—๋„ ์‹œ์Šคํ…œ ์žฅ์• ๊ฐ€ ์—†๋Š” ๋ช…์ ˆ์„ ๋ณด๋‚ด๊ณ  ์‹ถ์€ ์–ดํ”ผ์น˜๋Š” ์„œ๋ฒ„๋ฅผ ์ฆ์„คํ•ด์•ผ ํ• ์ง€ ๊ณ ๋ฏผ์ด๋‹ค. ์žฅ์•  ๋Œ€๋น„์šฉ ์„œ๋ฒ„ ์ฆ์„ค ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘๋…„ ์ถ”์„ ๊ธฐ๊ฐ„์ธ 9์›” 15์ผ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ geunzrial.tistory.com ํ’€์ด๋ฅผ ๋ณด๊ณ ๋‚˜๋‹ˆ ์• ์ดˆ์— log๊ฐ€ ๋๋‚œ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜์–ด ๋“ค์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์ดํ›„์˜ log๋“ค์ค‘ ๋ช‡๊ฐœ์™€ ๊ฒน์น˜๋Š”์ง€ ๊ตฌํ•˜๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. [์ฝ”๋“œ] import java.util.*; class Solution { publ..

Algorithm/Programmers 2022. 6. 13. 21:30