์ „์ฒด ๊ธ€ 52

[์Šคํ”„๋ง] DTO๋ฅผ ์™œ ์“ธ๊นŒ?

Spring ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ DTO๋ฅผ ์™œ ์“ฐ๋Š”์ง€ ์˜๋ฌธ์ด ๋“ค์—ˆ๋‹ค. ์‚ฌ์‹ค DTO๊ฐ€ ์ •ํ™•ํžˆ ์™€๋‹ฟ์ง€๋„ ์•Š์•„์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. DTO(Data Transer Object) DTO๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์šฉ๋„์˜ ๊ฐ์ฒด์ด๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์ˆœํ•œ ๊ฐ์ฒด์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ Controller ์‚ฌ์ด์—์„œ๋Š” DTO๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ๋ฐ›๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€ (Service, Repository..)์—์„œ๋Š” Domain(Entity ๋˜๋Š” Model)์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. Service, Repository์—์„œ๋Š” ๊ฐ์ฒด๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ณ , Controller์—์„œ DTO ๊ฐ์ฒด๋กœ ๋งคํ•‘ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์— ๋ฆฌํ„ดํ•œ๋‹ค. 2. DTO๋ž‘ Domain ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ  2-1. ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„..

[JAVA] ๋””์ž์ธ ํŒจํ„ด - Visitor ํŒจํ„ด

Visitor ํŒจํ„ด Visitor ํŒจํ„ด ์†Œ๊ฐœ Visitor ํŒจํ„ด์€ ๊ฐ์ฒด์˜ ๊ตฌ์กฐ์™€ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋™์ž‘์„ ๊ธฐ์กด ๊ฐ์ฒด ๊ตฌ์กฐ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ์ด ํŒจํ„ด์€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ SOLID ์›์น™ ์ค‘ ํ•˜๋‚˜์ธ "๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™(Open-Closed Principle, OCP)"์„ ๋”ฐ๋ฅด๋ฉฐ, ๊ธฐ์กด ์ฝ”๋“œ์˜ ์ˆ˜์ • ์—†์ด ์ƒˆ๋กœ์šด ๋™์ž‘์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง(์•Œ๊ณ ๋ฆฌ์ฆ˜)์„ ๋ถ„๋ฆฌํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ณด๋‹ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ์ž์ฃผ ๋ณ€๊ฒฝ๋  ๋•Œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠน์ง• ๊ฐ์ฒด์˜ ๊ตฌ์กฐ์™€ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋™์ž‘์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. "๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™(OCP)"์„ ์ค€์ˆ˜ํ•˜์—ฌ ์ฝ”๋“œ ์ˆ˜์ •์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ถ„๋ฆฌ๋˜์–ด ๋ฐ์ดํ„ฐ์˜ ๋…..

Java 2024.01.18

[JAVA] ๋””์ž์ธํŒจํ„ด - Proxy ํŒจํ„ด

Proxy ํŒจํ„ด Proxy ํŒจํ„ด ์†Œ๊ฐœ ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ์ฒด๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋Œ€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด์ธ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ ๋Œ€์ƒ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋Œ€์ƒ ๊ฐ์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š๋”๋ผ๋„ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”ํ•œ ์‹œ์ ์—๋งŒ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Proxy ํŒจํ„ด ์‚ฌ์šฉ ์ด์œ  ํ”„๋ก์‹œ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ๋ชจ๋“  ์š”์ฒญ์„ ์กฐ์ ˆํ•˜๋ฉด ์„œ๋น„์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ์  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ํฐ ๊ฐ์ฒด๋ฅผ ๋กœ๋”ฉํ•˜๊ธฐ ์ „์— ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ ๊ฐ์ฒด๋ฅผ ๋กœ์ปฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›๋ณธ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๊ธฐ ์ „์— ์‚ฌ์ „ ์ฒ˜๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์  ๊ฐ์ฒด ์ƒ์„ฑ์— ์ถ”๊ฐ€ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ๋นˆ๋ฒˆํ•œ ๊ฐ์ฒด ์ƒ์„ฑ์ด ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์ด..

Java 2024.01.18

[JAVA] ๋””์ž์ธํŒจํ„ด - State ํŒจํ„ด

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

Java 2024.01.18

[์Šคํ”„๋ง] ๊ณต๊ณต๋ฐ์ดํ„ฐ SERVICE_KEY_IS_NOT_REGISTERED_ERROR ํ•ด๊ฒฐ

์˜ค๋ฅ˜ ์Šคํ”„๋ง์œผ๋กœ ๊ตญํ† ๋ถ€ ๊ฑด์ถ•๋ฌผ๋Œ€์žฅ์ •๋ณด Open Api๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š”๋ฐ ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ–ˆ๋‹ค. ์ธ์ฝ”๋”ฉ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์—์„œ api ํ˜ธ์ถœํ•˜๋ฉด ์ž˜ ๋ถˆ๋Ÿฌ์™€์ง€๋Š”๋ฐ, ์Šคํ”„๋ง์—์„œ ํ˜ธ์ถœํ•˜๋ฉด SERVICE_KEY_IS_NOT_REGISTERED_ERROR ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค. SERVICE ERROR SERVICE_KEY_IS_NOT_REGISTERED_ERROR 30 ํ•ด๊ฒฐ์ฑ… 1. ์„œ๋น„์Šคํ‚ค๋ฅผ ๋””์ฝ”๋”ฉํ‚ค๋กœ ์„ค์ • ํ›„์— URLEncoder๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ž‘ ์„œ๋น„์Šคํ‚ค๋ฅผ ์ธ์ฝ”๋”ฉํ•ด์คฌ๋‹ค ์ธ์ฝ”๋”ฉ ๋””์ฝ”๋”ฉ์„ ์ž˜ํ•˜์ž.. // ๊ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ URLEncoder๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉ String encodedSigunguCd = URLEncoder.encode(sigunguCd, StandardCharsets.UTF_8.toString()); Stri..

[์Šคํ”„๋ง] ์›น์„œ๋ฒ„, WAS, ์„œ๋ธ”๋ฆฟ / SSR, CSR

์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด ํ—ท๊ฐˆ๋ ธ๋˜ ๊ฐœ๋…๋“ค ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์›น์„œ๋ฒ„ vs WAS ๋‘˜ ๋‹ค HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์›น์„œ๋ฒ„๋Š” ์ •์  ๋ฆฌ์†Œ์Šค ์ œ๊ณตํ•œ๋‹ค. NGINX, APACHE๊ฐ€ ์žˆ์Œ WAS๋Š” ์›น์„œ๋ฒ„ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์„œ๋ธ”๋ฆฟ, JSP MVC๋“ฑ ํ†ฐ์บฃ, Jetty, Undertow๊ฐ€ ์žˆ์Œ ์›น ์‹œ์Šคํ…œ ๊ตฌ์„ฑ WAS๋ž‘ DB๋งŒ์œผ๋กœ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ์ด๋ ‡๊ฒŒ๋˜๋ฉด WAS๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์—ญํ• ์„ ๋‹ด๋‹นํ•ด์„œ ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ •์  ๋ฆฌ์†Œ์Šค๋Š” ์›น์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง๊ณผ ๊ฐ™์€ ๋™์  ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉด WAS์— ์š”์ฒญ์„ ์œ„์ž„ํ•œ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ์›น์„œ๋ฒ„๋ž‘ WAS์„œ๋ฒ„๋ฅผ ๊ฐ๊ฐ ์ฆ์„คํ•  ์ˆ˜ ์žˆ์–ด์„œ ํšจ์œจ์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค! ์„œ๋ธ”๋ฆฟ HTTP ์š”์ฒญ์ด ์˜ค..

[๋ฐฑ์ค€ ํŒŒ์ด์ฌ] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ - Lv6. ์‹ฌํ™” 1

# 25083 ์ƒˆ์‹น print(" ,r'\"7") print("r`-_ ,' ,/") print(" \\. \". L_r'") print(" `~\\/") print(" |") print(" |") - " ์ถœ๋ ฅ : \" - \ ์ถœ๋ ฅ : \\ # 3003 ํ‚น, ํ€ธ, ๋ฃฉ, ๋น„์ˆ, ๋‚˜์ดํŠธ, ํฐ A = list(map(int, input().split())) print(1-A[0], 1-A[1], 2-A[2], 2-A[3], 2-A[4], 8-A[5]) # 2444 ๋ณ„์ฐ๊ธฐ-7 n = int(input()) for i in range(1, n+1): print(' '*(n-i)+'*'*(2*i-1)) for i in range(n-1, 0, -1): print(' '*(n-i)+'*'*(2*i-1)) - ์—ฐ๊ฒฐํ•ด์„œ..

[๋ฐฑ์ค€ ํŒŒ์ด์ฌ] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ - Lv5.๋ฌธ์ž์—ด

# 27866 ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด #๋‹จ์–ด S์™€ ์ •์ˆ˜ i ์ฃผ์–ด์ง #S์˜ i๋ฒˆ์งธ ๊ธ€์ž ์ถœ๋ ฅ S = input() i = int(input()) print(S[i-1]) # 2743 ๋‹จ์–ด ๊ธธ์ด ์žฌ๊ธฐ #์•ŒํŒŒ๋ฒณ ์ž…๋ ฅ๋ฐ›์•„ ๊ธธ์ด ์ถœ๋ ฅ x = input() print(len(x)) # 9086 ๋ฌธ์ž์—ด #๋ฌธ์ž์—ด ์ž…๋ ฅ #๋ฌธ์ž์—ด ์ฒซ ๊ธ€์ž์™€ ๋งˆ์ง€๋ง‰ ๊ธ€์ž ์ถœ๋ ฅ T=int(input()) #ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ์ˆ˜ for _ in range (T) : x = input() print(x[0]+x[-1]) #x[-1]์€ ๋งˆ์ง€๋ง‰ ๊ธ€์ž - x[-1] : ๋งˆ์ง€๋ง‰ ๊ธ€์ž # 11654 ์•„์Šคํ‚ค ์ฝ”๋“œ #์ฃผ์–ด์ง„ ๊ธ€์ž์˜ ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ’ ์ถœ๋ ฅ x = input() print(ord(x)) - ord() : ์•„์Šคํ‚ค ์ฝ”๋“œ๊ฐ’ ๋ฆฌํ„ด ํ•จ์ˆ˜ - chr() : ์•„์Šคํ‚ค ์ฝ”๋“œ๊ฐ’..

[ํŒŒ์ด์ฌ ๊ฒŒ์ž„] Chimp Memory Game

chimp memory game ๊ฒฉ์ž : 5 rows(ํ–‰), 9 columns(์—ด) start ๋ฒ„ํŠผ 6 numbers (์ˆœ์ฐจ ์ฆ๊ฐ€) ๊ฒฉ์ž์— ์ˆซ์ž ๋žœ๋ค ์œ„์น˜ํ•˜๊ธฐ Hide Numbers : 1. Display Time, 2. First Number ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„์— ์ˆซ์ž ์ˆจ๊ฒจ์ง 1์„ ๋ˆ„๋ฅด๋ฉด ๋‚˜๋จธ์ง€ ์ˆซ์ž ์ˆจ๊ฒจ์ง Correct → Next Level Wrong → Game Over ํ”„๋ ˆ์ž„ : 1_frame ๊ฐ€๋กœ 1280, ์„ธ๋กœ 720 import pygame #์ดˆ๊ธฐํ™” pygame.init() screen_width = 1280 #๊ฐ€๋กœํฌ๊ธฐ screen_height = 720 #์„ธ๋กœํฌ๊ธฐ screen = pygame.display.set_mode((screen_width, screen_height)) pygame.d..

[๋ฐฑ์ค€ ํŒŒ์ด์ฌ] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ - Lv4. 1์ฐจ์› ๋ฐฐ์—ด

# 10807 ๊ฐœ์ˆ˜ ์„ธ๊ธฐ N=int(input()) x = list(map(int,input().split())) v = int(input()) print(x.count(v)) - x.count(v)๋กœ x๋ฆฌ์ŠคํŠธ ์•ˆ์— v๊ฐ€ ๋ช‡ ๊ฐœ ๋“ค์–ด๊ฐ€์žˆ๋Š”์ง€ ํ™•์ธ๊ฐ€๋Šฅ # 10871 X๋ณด๋‹ค ์ž‘์€ ์ˆ˜ N,X = map(int,input().split()) A = list(map(int, input().split())) for i in range(N) : if A[i] 42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ #์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’ ๋ช‡ ๊ฐœ? A=[0]*10 for i in range(10) : x = int(input()) A[i] = (x % 42) B = set(A) print(len(B)) - ๋ฆฌ์ŠคํŠธ ์ž…๋ ฅ ๋ฐ›๊ณ  ๋ฆฌ์ŠคํŠธ๋ฅผ ์ง‘ํ•ฉ์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์ค‘๋ณต๋˜๋Š” ์ˆ˜ ..