[Spring/JUnit] Mock ๊ฐ์ฒด ์„ค์ • ๋ฌธ์ œ : java.lang.AssertionError: Expecting actual not to be null
ยท
Backend/Spring Boot
โ—๏ธ์—๋Ÿฌ ๋ฉ”์‹œ์ง€java.lang.AssertionError: Expecting actual not to be null     ๐Ÿ’ป ๊ฐœ๋ฐœ ํ™˜๊ฒฝFramework : Spring Boot `3.2.3`DB : MySQL(๋กœ์ปฌ), H2(ํ…Œ์ŠคํŠธ)Library : JPA, QueryDSL `5.0.0`Test : JUnit     ๐Ÿ”Ž ์›์ธSpring์—์„œ Junit์œผ๋กœ Service ๋‹จ์˜ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š”๋ฐ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค.๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ๋ฉ”์†Œ๋“œ๋Š” `save()`๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ƒˆ๋กœ ๋“ฑ๋ก๋œ ๊ฒŒ์‹œ๊ธ€์˜ `id`๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด Mock ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด `save()`๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ–ˆ๊ณ , `getId()`๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด `id`๋กœ 1L์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์„ค์ •ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์„..
[Java] Lombok ๋กฌ๋ณต์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ
ยท
Backend/Java
Java/Spring์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค.Lombok ๋•๋ถ„์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ํŽธํ–ˆ์ง€๋งŒ, ๋ฌด์ง€์„ฑ์œผ๋กœ ๋ง‰ ๊ฐ–๋‹ค์“ฐ๋‹ค๊ฐ€ ๋‚ญํŒจ๋ฅผ ๋ณธ ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ๋‹ค.(toString ์ˆœํ™˜ ์ฐธ์กฐ, ์ƒ์„ฑ์ž ์ˆœ์„œ ์•ˆ๋งž์Œ...)  Lombok์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณด๊ณ , ๋‹จ์ ๊ณผ ์ฃผ์˜์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค!           Lombok์€ ์ธ๋„๋„ค์‹œ์•„์— ์žˆ๋Š” Lombok ์„ฌ์—์„œ ์ด๋ฆ„์„ ๋”ฐ์„œ ๋งŒ๋“ค์—ˆ๋‹ค๋Š”๋ฐ, ์™œ ์•„์ด์ฝ˜์€ Red chilli์ผ๊นŒ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.Project Lombok์˜ ์Šฌ๋กœ๊ฑด์„ ๋ณด๋ฉด 'Spice up your java(์ž๋ฐ”์— ๋ง›์„ ๋”ํ•˜๋‹ค)'์ธ๋ฐ, 'Spice(ํ–ฅ์‹ ๋ฃŒ)' ๋•Œ๋ฌธ์— Red chilli ์•„์ด์ฝ˜์„ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™๋‹ค! (์ถ”์ธก)      Lombok ์ด๋ž€? Lombok์€ ์ž๋™์ ์œผ๋กœ ..
๋ฐฑ์ค€ 18513๋ฒˆ : ์ƒ˜ํ„ฐ
ยท
Algorithm/๋ฐฑ์ค€
https://www.acmicpc.net/problem/18513 18513๋ฒˆ: ์ƒ˜ํ„ฐ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N๊ณผ K๊ฐ€ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N, K ≤ 100,000) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ƒ˜ํ„ฐ์˜ ์œ„์น˜๊ฐ€ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ •์ˆ˜ ํ˜•ํƒœ๋กœ ์ฃผ์–ด์ง„๋‹ค. (-100,000,000 ≤ ์ƒ˜ํ„ฐ์˜ ์œ„์น˜ ≤ www.acmicpc.net ๋ฌธ์ œ ์ผ์ง์„  ์ƒ์˜ ๊ณต๊ฐ„์— N๊ฐœ์˜ ์ƒ˜ํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, K์ฑ„์˜ ์ง‘์„ ์ง“๊ณ ์ž ํ•œ๋‹ค. ๋ชจ๋“  ์ƒ˜ํ„ฐ ๋ฐ ์ง‘์ด ์กด์žฌํ•˜๋Š” ์œ„์น˜๋Š” ํ•ญ์ƒ ์ •์ˆ˜ ํ˜•ํƒœ์ด๋‹ค. ์ด๋•Œ ์ผ์ง์„  ์ƒ์˜ ๊ณต๊ฐ„์—์„œ N๊ฐœ์˜ ์ƒ˜ํ„ฐ ๋ฐ K์ฑ„์˜ ์ง‘๋“ค์€ ๋ชจ๋‘ ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์น˜์— ์กด์žฌํ•œ๋‹ค. K์ฑ„์˜ ์ง‘์„ ์ง€์„ ๋•Œ, ๊ฐ€๋Šฅํ•˜๋ฉด ์ƒ˜ํ„ฐ์˜ ์ฃผ๋ณ€์— ์ง‘๋“ค์„ ์ง€์–ด์„œ K์ฑ„์˜ ๋ชจ๋“  ์ง‘์— ๋Œ€ํ•œ ๋ถˆํ–‰๋„์˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ์ง“๊ณ ์ž ํ•œ๋‹ค. ๋ถˆํ–‰๋„๋ž€, ๊ฐ€์žฅ ..
๋ฐฑ์ค€ 1937๋ฒˆ : ์š•์‹ฌ์Ÿ์ด ํŒ๋‹ค
ยท
Algorithm/๋ฐฑ์ค€
https://www.acmicpc.net/problem/1937 1937๋ฒˆ: ์š•์‹ฌ์Ÿ์ด ํŒ๋‹ค n × n์˜ ํฌ๊ธฐ์˜ ๋Œ€๋‚˜๋ฌด ์ˆฒ์ด ์žˆ๋‹ค. ์š•์‹ฌ์Ÿ์ด ํŒ๋‹ค๋Š” ์–ด๋–ค ์ง€์—ญ์—์„œ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋จน๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ณณ์˜ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋‹ค ๋จน์–ด ์น˜์šฐ๋ฉด ์ƒ, ํ•˜, ์ขŒ, ์šฐ ์ค‘ ํ•œ ๊ณณ์œผ๋กœ ์ด๋™์„ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋˜ ๊ทธ๊ณณ์— www.acmicpc.net ๋ฌธ์ œ n × n์˜ ํฌ๊ธฐ์˜ ๋Œ€๋‚˜๋ฌด ์ˆฒ์ด ์žˆ๋‹ค. ํŒ๋‹ค๋Š” ์–ด๋–ค ์ง€์—ญ์—์„œ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋จน๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ณณ์˜ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋‹ค ๋จน์–ด ์น˜์šฐ๋ฉด ์ƒ, ํ•˜, ์ขŒ, ์šฐ ์ค‘ ํ•œ ๊ณณ์œผ๋กœ ์ด๋™์„ ํ•œ๋‹ค. ๊ทธ ์˜ฎ๊ธด ์ง€์—ญ์— ๊ทธ ์ „ ์ง€์—ญ๋ณด๋‹ค ๋Œ€๋‚˜๋ฌด๊ฐ€ ๋งŽ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์–ด๋–ค ์ง€์ ์— ์ฒ˜์Œ์— ํ’€์–ด ๋†“์•„์•ผ ํ•˜๊ณ , ์–ด๋–ค ๊ณณ์œผ๋กœ ์ด๋™์„ ์‹œ์ผœ์•ผ ํŒ๋‹ค๊ฐ€ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์นธ์„ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ณ ๋ฏผ์— ๋น ์ ธ ์žˆ๋‹ค. ํŒ๋‹ค๊ฐ€ ์ด๋™ํ•  ์ˆ˜ ..
๋ฐฑ์ค€ 15486๋ฒˆ : ํ‡ด์‚ฌ2
ยท
Algorithm/๋ฐฑ์ค€
https://www.acmicpc.net/problem/15486 15486๋ฒˆ: ํ‡ด์‚ฌ 2 ์ฒซ์งธ ์ค„์— N (1 ≤ N ≤ 1,500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— Ti์™€ Pi๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์„œ ์ฃผ์–ด์ง€๋ฉฐ, 1์ผ๋ถ€ํ„ฐ N์ผ๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net ๋ฌธ์ œ ์˜ค๋Š˜๋ถ€ํ„ฐ N+1์ผ์งธ ๋˜๋Š” ๋‚  ํ‡ด์‚ฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋‚จ์€ N์ผ ๋™์•ˆ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ƒ๋‹ด์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ์ƒ๋‹ด์€ ์ƒ๋‹ด์„ ์™„๋ฃŒํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ๊ธฐ๊ฐ„ Ti์™€ ์ƒ๋‹ด์„ ํ–ˆ์„ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก Pi๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ƒ๋‹ด์„ ์ ์ ˆํžˆ ํ–ˆ์„ ๋•Œ, ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ˆ˜์ต ๊ตฌํ•˜๊ธฐ ์ œํ•œ์‚ฌํ•ญ N (1 ≤ N ≤ 1,500,000) 1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,00..
๋ฐฑ์ค€ 1749๋ฒˆ : ์ ์ˆ˜๋”ฐ๋จน๊ธฐ
ยท
Algorithm/๋ฐฑ์ค€
https://www.acmicpc.net/problem/1749 1749๋ฒˆ: ์ ์ˆ˜๋”ฐ๋จน๊ธฐ๋™์ฃผ๋Š” ํ•ญ์ƒ ํ˜ผ์ž ๋…ธ๋Š๋ผ ์‹ฌ์‹ฌํ•˜๋‹ค. ํ•˜์ง€๋งŒ ํ˜ผ์ž ๋†€๊ธฐ์˜ ๊ณ ์ˆ˜๊ฐ€ ๋œ ๋™์ฃผ๋Š” ๋งค์ผ๋งค์ผ ๊ฒŒ์ž„์„ ๊ฐœ๋ฐœํ•˜์—ฌ ํ˜ผ์ž๋†€๊ธฐ์˜ ์ง„์ˆ˜๋ฅผ ์šฐ๋ฆฌ์—๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค. ์–ด๋Š ๋‚  ๋™์ฃผ๋Š” ์ƒˆ๋กœ์šด ๊ฒŒ์ž„์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. ๋ฐ”๋กœ ์ www.acmicpc.net     ๋ฌธ์ œ์ผ๋‹จ N*M ํ–‰๋ ฌ์„ ๊ทธ๋ฆฐ ๋‹ค์Œ, ๊ฐ ์นธ์— -10,000 ์ด์ƒ 10,000 ์ดํ•˜์˜ ์ •์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ์“ด๋‹ค.๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ ํ–‰๋ ฌ์˜ ๋ถ€๋ถ„ํ–‰๋ ฌ์„ ๊ทธ๋ ค ๊ทธ ์•ˆ์— ์ ํžŒ ์ •์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๊ฒŒ์ž„์ด๋‹ค.์ •์ˆ˜์˜ ํ•ฉ์ด ์ตœ๋Œ€๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„ํ–‰๋ ฌ์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.     ํ’€์ด์ฒ˜์Œ์—๋Š” ์ด์ „์— ํ’€์—ˆ๋˜ '๋ถ€๋ถ„ํ–‰๋ ฌ์—์„œ ๋ถ€๋ถ„ํ•ฉ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ'์˜ ์ ‘๊ทผ๋ฒ•๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค. ๋ฐฑ์ค€ 11660๋ฒˆ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ5 : https://www.acmic..
giraffe_
'Java' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก