์ „์ฒด ๊ธ€ 86

[Spring] SpringBootTest์‹คํ–‰์‹œ application.yml ์„ค์ • ๋ฌธ์ œ

๋ฌธ์ œ ์ƒํ™ฉRestDocs๋กœ API ๋ช…์„ธ์„œ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์–ด ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ํ•„์ˆ˜๋กœ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค.๊ฐœ๋ฐœ์„œ๋ฒ„์— ๋ฐฐํฌ๋ฅผ ์™„๋ฃŒํ•œ ์ƒํƒœ์—์„œ ๋กœ์ปฌ๊ณผ ์‹คํ–‰ํ™˜๊ฒฝ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— yml์„ ๋ถ„๋ฆฌํ•  ํ•„์š”๋ฅผ ๋А๊ผˆ๊ณ , dev์™€ local๋กœ yml์„ ๋ถ„๋ฆฌํ•˜์˜€๋‹ค.๊ทธ ํ›„ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ, ํ•˜๋‹จ ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋ฉฐ ์‹คํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค.Failed to load ApplicationContext for.....Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource ๋ฌธ์ œ ํ•ด๊ฒฐapplication-test.yml์„ ๋ณ„๋„..

๊ฐœ๋ฐœ 2025.04.29

๋ฐฑ์ค€ 14499

https://www.acmicpc.net/problem/14499Intuition๋ฌธ์ œ ์ž์ฒด๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต์ง„ ์•Š์•„์„œ ์ฃผ์‚ฌ์œ„๋ฅผ ์ด๋™ํ•˜๋Š” ๊ฒƒ๋งŒ ์ž˜ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.Approach์–ด๋А๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋”๋ผ๋„ ํŠน์ • ๋ฉด์ด ์•„๋ž˜์— ์žˆ์„๋•Œ ๋™์„œ๋‚จ๋ถ์— ์˜ค๋Š” ๋ฉด์ด ๊ณ ์ •๋  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์•„๋‹ˆ์—ˆ๋‹ค. ์ด๊ฑธ๋กœ 30๋ถ„ ๋‚ ๋ ธ๋‹คtop_n์ด ํ•˜๋Š˜์„ ๋ฐ”๋ผ๋ณด๋Š” ๋ฉด, ns ๊ฐ€ top_n ๊ธฐ์ค€์œผ๋กœ ๋ถ์ชฝ์— ์žˆ๋Š” ๋ฉด์œผ๋กœ ํ•œ๋‹ค.ํŠน์ • ๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ์ชฝ์— ์–ด๋–ค ๋ฉด์— ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋™ ์„œ์— ์˜ค๋Š” ๋ฉด์ด ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ์ด๋ฅผ ๋„ฃ์—ˆ๋‹ค.์˜ˆ๋ฅผ๋“ค์–ด top_n = 1, ns = 2๋ผ๋ฉด ๋™์ชฝ์œผ๋กœ ์›€์ง์ผ๋•Œ top_n์ด 4, 6, 3, 1 ~~ ์›ํ˜•์œผ๋กœ ๋ณ€ํ•œ๋‹ค. // 1 -> 5 4 2 3// 2 -> 1 4 6 3// 3 -> 5 1 2 6// 4 -> ..

algorithm 2025.04.03

[Server] Mac ํ™˜๊ฒฝ ๋กœ์ปฌ๋กœ Mosquitto, Spring Integration MQTT ์‚ฌ์šฉ

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”์•ฑ ์„œ๋ฒ„ ๋””๋ฐ”์ด์Šค๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋˜ ์ค‘ ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์—์„œ ๋ฐœํ–‰ํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋””๋ฐ”์ด์Šค์—์„œ ๋น ๋ฅด๊ณ  ๊ฐ€๋ณ๊ฒŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด MQTT๋ฅผ ๋„์ž…ํ•˜์˜€๋‹ค.   Spring ์„œ๋ฒ„์— MQTT ๋ธŒ๋กœ์ปค ์„ค์น˜Mosquitto, EMQX, HiveMQ ๋“ฑ MQTT ๋ธŒ๋กœ์ปค๋ฅผ ์„œ๋ฒ„์— ์„ค์น˜.ํฌํŠธ(๋ณดํ†ต 1883, ๋˜๋Š” TLS์ผ ๊ฒฝ์šฐ 8883) ์—ด๊ธฐ.MQTT ๋ธŒ๋กœ์ปค๊ฐ€ ์™ธ๋ถ€(๋””๋ฐ”์ด์Šค)์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฐฉํ™”๋ฒฝ/๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ • ํ•„์š”.๋””๋ฐ”์ด์Šค์—์„œ MQTT ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„๋””๋ฐ”์ด์Šค์—์„œ MQTT ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹คํ–‰์‹œ์ผœ์„œ ์„œ๋ฒ„์˜ ๋ธŒ๋กœ์ปค์— ์—ฐ๊ฒฐ.์˜ˆ: mqtt://your.server.ip:1883ํ† ํ”ฝ์„ ๊ตฌ๋…ํ•˜์—ฌ ์„œ๋ฒ„์—์„œ publishํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.Spring ์„œ๋ฒ„์—์„œ MQTT ๋ฉ”์‹œ์ง€ ๋ฐœ..

๊ฐœ๋ฐœ 2025.04.01

๋ฐฑ์ค€ 13458

Intuition๋‹จ์ˆœ ์ˆ˜ํ•™ ๊ตฌํ˜„์œผ๋กœ ํ’€๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.Approach(๊ฐ ์‹œํ—˜์žฅ์˜ ๊ฐ์‹œ์ž ์ˆ˜ - ์ด๊ฐ๋…๊ด€(B))/C + (๊ฐ ์‹œํ—˜์žฅ์˜ ๊ฐ์‹œ์ž ์ˆ˜ - ์ด๊ฐ๋…๊ด€(B))%C ? 1 : 0;์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ ์‹œํ—˜์žฅ์˜ ๊ฐ์‹œ์ž ์ˆ˜ - ์ด๊ฐ๋…๊ด€(B)์ด ์Œ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•ด ๋ช‡๋ฒˆ ํ‹€๋ ธ๋‹ค.์Œ์ˆ˜์ธ ๊ฒฝ์šฐ ๊ฐ ์‹œํ—˜์žฅ์˜ ๊ฐ์‹œ์ž ์ˆ˜ - ์ด๊ฐ๋…๊ด€(B)์„ 0์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค.Complexity- Time complexity : O(N)- Space complexity : O(N)Code#include using namespace std;long long ans;int main() { long long N, arr[1000001]; cin>>N; for (int i=0; i>arr[i]; ..

algorithm 2025.03.30

๋ฐฑ์ค€ 3190

https://www.acmicpc.net/problem/3190 ํ’€์ด๋จผ์ € ๋ฑ€์€ ๋ชธ๊ธธ์ด๋ฅผ ๋Š˜๋ ค ๋จธ๋ฆฌ๋ฅผ ๋‹ค์Œ์นธ์— ์œ„์น˜์‹œํ‚จ๋‹ค.๋งŒ์•ฝ ๋ฒฝ์ด๋‚˜ ์ž๊ธฐ์ž์‹ ์˜ ๋ชธ๊ณผ ๋ถ€๋”ชํžˆ๋ฉด ๊ฒŒ์ž„์ด ๋๋‚œ๋‹ค.๋งŒ์•ฝ ์ด๋™ํ•œ ์นธ์— ์‚ฌ๊ณผ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๊ทธ ์นธ์— ์žˆ๋˜ ์‚ฌ๊ณผ๊ฐ€ ์—†์–ด์ง€๊ณ  ๊ผฌ๋ฆฌ๋Š” ์›€์ง์ด์ง€ ์•Š๋Š”๋‹ค.๋งŒ์•ฝ ์ด๋™ํ•œ ์นธ์— ์‚ฌ๊ณผ๊ฐ€ ์—†๋‹ค๋ฉด, ๋ชธ๊ธธ์ด๋ฅผ ์ค„์—ฌ์„œ ๊ผฌ๋ฆฌ๊ฐ€ ์œ„์น˜ํ•œ ์นธ์„ ๋น„์›Œ์ค€๋‹ค. ์ฆ‰, ๋ชธ๊ธธ์ด๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.๋‹ค์Œ ์ˆœ์„œ์— ๋งž๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค.๋ฑ€ ์ „์ฒด ์นธ์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ , Queue์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’์ด ๋จธ๋ฆฌ, ์™ธ๋ถ€ ๋ณ€์ˆ˜์— ๊ผฌ๋ฆฌ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋จธ๋ฆฌ๊ฐ€ ์›€์ง์ด๋Š” ๋ฐฉํ–ฅ ๊ทธ๋Œ€๋กœ ๊ผฌ๋ฆฌ๊ฐ€ ์›€์ง์ด๋„๋ก dirb ๋ฐฐ์—ด์— ๋จธ๋ฆฌ๊ฐ€ ์›€์ง์ด๋Š” ๋ฐฉํ–ฅ์„ ๋„ฃ์–ด์คฌ๋‹ค. #include #include #include #include using namespace std;// 1ํ–‰ 1์—ด..

algorithm 2025.03.30

๋ฐฑ์ค€ 12100 (์‚ผ์„ฑ ๊ธฐ์ถœ)

https://www.acmicpc.net/problem/12100์†Œ์š”์‹œ๊ฐ„ (2:01:00)ํ’€์ด4๊ฐœ์˜ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ƒ๊ฐํ•ด์„œ ์ด๋™ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ๋‹ค.๋ธ”๋ก์ด ๋ฐ€๋ฆฌ๋ฉด์„œ ํ•ฉ์ณ์ง€๋Š” ๊ฒƒ๋งŒ ์ž˜ ๊ตฌํ˜„ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.void shift_left(vector >& ori) { vector > v(N); // ์ „๋ถ€ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ for (int i=0; i๋„ค ๋ฐฉํ–ฅ์œผ๋กœ ํ•ฉ์น˜๋Š” ๋กœ์ง์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ผํ•˜๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.๋ฐฉํ–ฅ์—๋”ฐ๋ผ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๋Š” ์นธ๋ถ€ํ„ฐ ํ–‰๋ ฌํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด ์ค€ ๋‹ค์Œ ์ขŒํ‘œ์— ๋”ฐ๋ผ ํ•ฉ์ณ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.๋„ค๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™, ํ•ฉ์น˜๋Š” ๋กœ์ง๋งŒ ์ž˜ ์จ์ฃผ๋ฉด ๋œ๋‹ค. //// Created by ljh on 25. 3. 28.//#include #include #include using n..

algorithm 2025.03.28

27. Remove Element

https://leetcode.com/problems/remove-element/description/?envType=study-plan-v2&envId=top-interview-150IntuitionInplace๋กœ ๋ณ€ํ™˜์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€์ ์ธ ๋ณ€์ˆ˜ ์„ ์–ธ์„ ํ•˜์ง€ ์•Š๊ณ  ๋ฐฐ์—ด์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.Approach๋ฐฐ์—ด์˜ ํƒ์ƒ‰๊ณผ ๋ฌด๊ด€ํ•œ idx ํฌ์ธํ„ฐ๋ฅผ ์žก์•„ ๋ฐฐ์—ด์˜ ์›์†Œ ์ค‘ val๊ณผ ๋‹ค๋ฅธ ์›์†Œ๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ idx์— ์ €์žฅํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค. Inplace์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ๊ณต๊ฐ„์ด ํ•„์š” ์—†๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.Complexity- Time complexity : O(N)- Space complexity : O(1) Codeclass Solution {public: int remov..

algorithm 2025.03.21

DP - ์•„์ดํ…œ์„ ์ ์ ˆํžˆ ๊ณ ๋ฅด๋Š” ๋ฌธ์ œ

์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•œ ๋™์ „์˜ ์ด ๊ธˆ์•ก์ด ๊ฐ™๋‹ค๋ฉด -> ๋™์ „์ด ์ ์„์ˆ˜๋ก / ๋งŽ์„์ˆ˜๋ก ๋” ์ข‹๋‹ค.dp[i] = ์ง€๊ธˆ๊นŒ์ง€ ์„ ํƒํ•œ ๋™์ „์˜ ํ•ฉ์ด i์ผ๋•Œ, ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ ๋™์ „์˜ ๊ฐœ์ˆ˜. dp[i] = max/min ( 0= coin[j] ) dp[i - coin[j]] + 1  for(int i=1; i i || dp[i - coin[j]] == -1) continue; if(dp[i] == -1) { dp[i] = dp[i - coin[j]] + 1; }else { dp[i] = min(dp[i], dp[i - coin[j]] + 1); } } } dp[0] = 0์ด๊ณ , 0์„ ๊ธฐ์ค€์œผ๋กœ coin ..

algorithm 2025.03.21

[OS] CPU Scheduling

Preemptive and Nonpreemptive SchedulingCPU-scheduling์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„ค๊ฐ€์ง€ ์ƒํ™ฉ์—์„œ ์ผ์–ด๋‚œ๋‹ค.1. I/O request๋‚˜ wait()์— ์˜ํ•œ running state -> waiting state2. Interrupt์— ์˜ํ•œ running state -> ready state3. completion of I/O ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์˜ํ•œ waiting state -> ready state4. ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ์‹œ. 1, 4์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋ฌด์กฐ๊ฑด ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„์„œ core์— ๋„ฃ์–ด์•ผ ํ•œ๋‹ค.ํ•˜์ง€๋งŒ 2, 3๋ฒˆ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋„ฃ์„์ง€ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. 1, 4์˜ ๊ฒฝ์šฐ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”, ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ์‹œ์™€ waiting state๋กœ ๋ณ€ํ•  ๊ฒฝ์šฐ์— ..

CS 2024.09.29