java 3

[Effective Java] ์™œ EnumSet ๊ณผ EnumMap ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€

๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ [Effective Java] ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๋Š” ์ค‘ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Enum ๊ฐ์ฒด๋ฅผ ๊ฐ€์ง€๊ฑฐ๋‚˜ Enum ๊ฐ์ฒด๋ฅผ Key ๋กœ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ ์™œ EnumMap ์ด๋‚˜ EnumSet ์„ ์“ฐ๋Š” ๊ฒƒ์ด ๋‹ค๋ฅธ Map / Set ๊ตฌํ˜„์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํšจ์œจ์ ์ธ์ง€์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋Š” ๊ณผ์ œ๋ฅผ ๋ฐ›์•˜๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ด๋“ค์ด ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๊ทธ์— ๋Œ€ํ•œ ์ฐจ์ด์  ๋ฐ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์™œ ์—ด๊ฑฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ? Java 1.5 ๋ฒ„์ „ ์ด์ „์—๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์ˆ˜๋ฅผ int ํƒ€์ž…์œผ๋กœ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด๋ฅผ ์ •์ˆ˜ ์—ด๊ฑฐ ํŒจํ„ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ณผ๊ฑฐ์˜ ๋ฐฉ์‹์ฒ˜๋Ÿผ int ๋ฅผ ์ด์šฉํ•ด ์ƒ์ˆ˜๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ์ปดํŒŒ์ผ ํƒ€์ž„์—์„œ ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค. 2. Name..

Programming/Java 2022.11.20

Prime / Composite | ์†Œ์ˆ˜์™€ ํ•ฉ์„ฑ์ˆ˜

์†Œ์ˆ˜ ํ•ฉ์„ฑ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ๋ฃจํŠธ KH ๋‹น์‚ฐ์ง€์›์—์„œ์˜ 10์ผ์ฐจ. ๊ฐ€๋”์€ ์‰ฌ์šด ๋ฌธ์ œ๋กœ ํ๋ญ‡ํ•ด ํ•˜๊ธฐ๋„, ์–ด๋ ค์šด ๋ฌธ์ œ๋กœ ๊ณ ๋ฏผ์— ๋น ์งˆ ๋•Œ๋„ ์žˆ์ง€๋งŒ ๋ชจ๋‘ ๊นจ๋‹ฌ์Œ์˜ ์—ฐ์†์ด์˜€๊ธฐ์— ๊ทธ ์ˆœ๊ฐ„์ˆœ๊ฐ„์ด ํ–‰๋ณตํ–ˆ๋‹ค. ์†Œ์ˆ˜์™€ ํ•ฉ์„ฑ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ฅผ ์—ฐ์‚ฐํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ง์ด๋‹ค. ์†Œ์ˆ˜์™€ ํ•ฉ์„ฑ์ˆ˜๋Š” ๋ฌด์—‡์ผ๊นŒ? ์†Œ์ˆ˜๋Š” 1 ๊ณผ ์ž๊ธฐ ์ž์‹ ์œผ๋กœ๋งŒ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜์ด๊ณ , ํ•ฉ์„ฑ์ˆ˜๋Š” 1๊ณผ ์ž๊ธฐ ์ž์‹ ์„ ํฌํ•จํ•œ ๋‹ค๋ฅธ ์ˆ˜๋กœ๋„ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜๋ฅผ ํ•ฉ์„ฑ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. (์—ฌ๊ธฐ์„œ ๋‚˜๋ˆ„์–ด์ง„๋‹ค๋Š” ๊ฒƒ์€ ๋‚˜๋จธ์ง€ ๊ฐ’์ด 0์ด๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.) (๋” ์ž์„ธํ•œ ์ด๋ก ์€ ๊บผ๋ฌด์œ„ํ‚ค์—์„œ) ๊ทธ๋ž˜์„œ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋“ค์„ ๋“ค์–ด๋ณด์ž๋ฉด, ์†Œ์ˆ˜ : 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 ... ํ•ฉ์„ฑ์ˆ˜ : 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 2..

Algorithm 2020.08.02

IntelliJ | Spring MVC + Maven ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ (Oracle)

๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ํ˜„์žฌ ๊ตญ๋น„ ์ง€์› ํ•™์›์—์„œ ์ž๋ฐ”๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๊ณ , ์„ธ๋ฏธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ง‰ ๋งˆ์นœ ์ƒํ™ฉ์ด๋‹ค. ์ด์ œ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ์ค‘์ธ๋ฐ, STS ๋ง๊ณ  ๋‹ค๋ฅธ IDE ๋กœ๋„ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ๋„์ „ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฒ˜์Œ IntelliJ ๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ Eclipse ์™€๋Š” UI ๋ผ๋˜์ง€ ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ณผ์ •์ด ๋‹ฌ๋ผ ๋งŽ์ด ํ—ค๋งธ๊ณ , ์‚ฌ๋žŒ๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ฌ๋ผ ์ •๋ณด ์œ ๋ชฉ๋ฏผ ์ƒํ™œ์ด ์กฐ๊ธˆ ๊ธธ์–ด์กŒ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ ์Šคํ”„๋ง MVC + Maven ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”์ง€ ๊ธฐ๋ก ํ•  ๊ฒธ, ๋‚˜ ๊ฐ™์ด ์™„์ „ ์ดˆ๋ณด์ž๊ฐ€ ์ •๋ณด ์œ ๋ชฉ๋ฏผ ์ƒํ™œ์„ ์ฒญ์‚ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ์•„์ฃผ ์ž‘๊ฒŒ๋‚˜๋งˆ ๋„์›€์ด ๋  ๊ฒธ ํ•ด์„œ ๊ธ€์„ ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ ๋‹ค๋“ค IntelliJ ๋Š” ์ž˜ ์„ค์น˜ํ–ˆ์„๊ฑฐ๋ผ๋Š” ๊ฐ€์ • ํ•˜์— ์ง„ํ–‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ฒ˜์Œ์— IntellJ ๋ฅผ ์‹ค..

Programming/Spring 2020.07.26