Banner

My Tech Blog (Java)

โœ… List๋ฅผ map์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ด์œ  db๋‚˜ API์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์™€์„œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ์†๋„๋‚˜ ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ map์ด ๋น ๋ฆ„์ฆ‰, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋‚˜, ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด์„œ ํ•„์š”ํ•จ.์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” map์€ ํ•ด์‹œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ ํ‚ค,๊ฐ’ ์Œ ํ˜•์‹์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ.  JSON์ด๋ž‘ ๋น„์Šทํ•œ ํ˜•์‹์ด์ง€๋งŒ ์ž๋ฐ”์˜ map์€ ํ‚ค๊ฐ’ ํƒ€์ž…์„ ์ œ๋„ค๋ฆญ์œผ๋กœ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผ ํ•˜๊ณ Map์ฒ˜๋Ÿผ ๋ช…ํ™•ํ•œ ํƒ€์ž…์„ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผ ํ•จ. [JSON]{ "name": "Alice", "age": 30, "isEmployee": true} [JAVA map]Map person = new HashMap();person.put("name", "Alice");person.put("age", 30);person.put("isEmployee", ..
์˜ˆ์™ธ์ฒ˜๋ฆฌ 1. ๊ฐœ๋… ์˜ˆ์™ธ ๋ฐœ์ƒํ•  ๊ฒƒ์„ ๋Œ€๋น„ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐœ๋… ์˜ค๋ฅ˜์™€๋Š” ๋‹ค๋ฅด๋ฉฐ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰ ๋„์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์• ์— ๋Œ€ํ•œ ๋Œ€์ฒ˜ 2. ํŠน์ง• - try~catch~finally ๊ตฌ๋ฌธ์œผ๋กœ ์ œ์–ด - ์˜ˆ์™ธ ๋„˜๊ธฐ๊ธฐ ์œ„ํ•ด throws ์‚ฌ์šฉ 3. ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ‚ค์›Œ๋“œ - try ๋ธ”๋ก : ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ ํฌํ•จ - catch ๋ธ”๋ก : try ๋ธ”๋ก ๋‚ด์—์„œ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌ - finally : ์˜ˆ์™ธ ๋ฐœ์ƒ ์—ฌ๋ถ€์™€ ์ƒ๊ด€ ์—†์ด ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํฌํ•จ - throw : ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง์ ‘ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ - throws : ํ•ด๋‹น ๋ฉ”์„œ๋“œ์—์„œ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ํ˜ธ์ถœ์ž์—๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์œ„์ž„ 4. ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฐฉ์‹try { // ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ๋ ๋งŒํ•œ ์ฝ”๋“œ } catch(FileNotFoun..
์•ˆ๋…•ํ•˜์„ธ์š”์˜ค๋Š˜์€ ์ž๋ฐ”์˜ ์ถ”์ƒํด๋ž˜์Šค(abstract) ์™€ ์ธํ„ฐํŽ˜์ด์Šค(Interface) ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ด์š” ์—ฌ๋Ÿฌ๋ถ„๋“ค ์ œ๊ฐ€ ์ œ์ผ ์ข‹์•„ํ•˜๋Š” ์–ธ์–ด๋Š” ์ž๋ฐ”์ธ๋ฐ์š”๊ทธ ์ค‘ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒํด๋ž˜์Šค์— ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…์ด ๋งŽ์•„ ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ๊ธ€ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค~ ์ œ ๋ธ”๋กœ๊ทธ๋Š” ์ˆ˜์ต ์ฐฝ์ถœ์„ ํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค์ œ๊ฐ€ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํŽธํ•˜๊ฒŒ ๋ณด๊ณ  ์ •๋ฆฌํ•˜๋ ค๊ณ  ๋งŒ๋“  ๋ธ”๋กœ๊ทธ์ด๋‹ˆ ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์Šต๋‹ˆ๋‹ค๊ถ๊ธˆํ•œ์ ์ด๋‚˜ ์ฝ”๋“œ์— ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌํ•˜์‹œ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”~ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค 1. ์ถ”์ƒํด๋ž˜์Šค(abstract class) - ํ•˜๋‚˜ ์ด์ƒ์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค- ์ฆ‰ ์™„์„ฑ๋œ ๋ฉ”์„œ๋“œ, ๋ฏธ์™„์„ฑ๋œ ๋ฉ”์„œ๋“œ ๋ชจ๋‘ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ชจ๋“  ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด์•ผ ํ•จ- ์—ฌ๊ธฐ์„œ ์™„์„ฑ๋œ ๋ฉ”์„œ๋“œ๋Š” ๋ฉ”์„œ๋“œ ์˜†์— { } ์ค‘๊ด„ํ˜ธ๊ฐ€ ์žˆ๋Š”๊ฒƒ. => ๊ตฌํ˜„๋œ ๊ฒƒ์œผ๋กœ..
front controller ๋ฐฉ์‹ ๋กœ๊ทธ์ธ ๋ฉ”์„œ๋“œ ๊ตฌํ˜„ํ•˜๋Š” ์ž๋ฐ” ์ฝ”๋“œ  Front Controller ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” Java ์ฝ”๋“œ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒFrontController: ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์ธ ํด๋ž˜์Šค.Controller: ๊ฐ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค.LoginController: ๋กœ๊ทธ์ธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค.Request: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋ž˜์Šค.Response: ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋ž˜์Šค.// Request.javaclass Request { private String action; public Request(String action) { this.action = action; } publ..
โœ… ๋ฌธ์ œ๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. โ€‹๐Ÿ“ฅ ์ž…๋ ฅ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 ์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰์—๋Š” 0 ๋‘ ๊ฐœ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค. โ€‹๐Ÿ“ฅ ์ถœ๋ ฅ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค A+B๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.โ€‹๐Ÿ’ก ํ’€์ด โœ… 1. Scanner ํ‹€๋ฆฐ ์ฝ”๋“œ โ–ผimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { int a = sc.nextInt(); int b = sc.nextInt(); Syst..
โœ… ๋ฌธ์ œ ๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. โ€‹๐Ÿ“ฅ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 < A, B < 10) โ€‹๐Ÿ“ฅ ์ถœ๋ ฅ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค "Case #x: A + B = C" ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. x๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๋ฒˆํ˜ธ์ด๊ณ  1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉฐ, C๋Š” A+B์ด๋‹ค. โ€‹ ๐Ÿ’ก ํ’€์ด ์•ž์„œ ํ’€์–ด๋ณธ 11021๋ฒˆ ๋ฌธ์ œ๋ž‘ ์œ ์‚ฌํ•œ ๋ฌธ์ œ์ด๋‹ค. ๋‹ค๋ฅธ ์ ์€ ์ถœ๋ ฅ ํ˜•์‹์ด๋‹ค. 11021๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” A์™€ B์˜ ํ•ฉ์ธ ๊ฒฐ๊ณผ๊ฐ’ C๋งŒ ๋‹จ๋…์œผ๋กœ ์ถœ๋ ฅํ•ด ์ฃผ๋ฉด ๋˜๋Š”๋ฐ ํ•ด๋‹น ๋ฌธ์ œ์—์„œ๋Š” A + B = C ํ˜•์‹์œผ๋กœ ์„ธ ๊ฐ’์„ ๋ชจ๋‘ ์ถœ๋ ฅํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. [๋ฐฑ์ค€] 11021๋ฒˆ : A+B-7 ์ž๋ฐ” / java โœ… ๋ฌธ..
โœ… ๋ฌธ์ œ ์ž…๋ ฅํ•œ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ 45๋ถ„ ์ „์€ ๋ช‡์‹œ ๋ช‡ ๋ถ„์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์งœ๊ธฐ โ€‹๐Ÿ“ฅ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ H์™€ M์ด ์ฃผ์–ด์ง„๋‹ค. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ํ˜„์žฌ ์ƒ๊ทผ์ด๊ฐ€ ์„ค์ •ํ•œ ์•Œ๋žŒ ์‹œ๊ฐ„ H์‹œ M๋ถ„์„ ์˜๋ฏธํ•œ๋‹ค. โ€‹ ์ž…๋ ฅ ์‹œ๊ฐ„์€ 24์‹œ๊ฐ„ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•œ๋‹ค. 24์‹œ๊ฐ„ ํ‘œํ˜„์—์„œ โ€‹ํ•˜๋ฃจ์˜ ์‹œ์ž‘์€ 0:0(์ž์ •)์ด๊ณ , ๋์€ 23:59(๋‹ค์Œ๋‚  ์ž์ • 1๋ถ„ ์ „)์ด๋‹ค. ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ผ ๋•Œ, ๋ถˆํ•„์š”ํ•œ 0์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. โ€‹๐Ÿ“ฅ ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด๊ฐ€ ์ฐฝ์˜์ด์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ๋•Œ, ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ์•Œ๋žŒ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค. โ€‹ ๐Ÿ’ก ํ’€์ด โ€‹Scanner ๋กœ ์ž…๋ ฅ๋ฐ›์•„์„œ ์—ฐ์‚ฐํ•˜๋Š” ๋ฒ•๊ณผ BufferedReader ๋กœ ์ž…๋ ฅ๋ฐ›์•„์„œ ์—ฐ์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ• ๋‘ ๊ฐ€์ง€๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ‘๊ทผ๋ฒ• โ€‹ 1. ์ž…๋ ฅ๋ฐ›..
โœ… ๋ฌธ์ œ ์ž…๋ ฅ๋œ ๊ฐ’ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์งœ๊ธฐ โ€‹๐Ÿ“ฅ ์ž…๋ ฅ ์ž…๋ ฅ์ด ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์€ ์ตœ๋Œ€ 100์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ๊ณต๋ฐฑ, ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ์ค„์€ 100๊ธ€์ž๋ฅผ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ๋นˆ ์ค„์ด ์ฃผ์–ด์งˆ ์ˆ˜๋„ ์žˆ๊ณ , ๊ฐ ์ค„์˜ ์•ž ๋’ค์— ๊ณต๋ฐฑ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค. โ€‹๐Ÿ“ฅ ์ถœ๋ ฅ ์ž…๋ ฅ ๋ฐ›์€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค. โ€‹ ๐Ÿ’ก ํ’€์ด 11718๋ฒˆ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋กœ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํฌํ•จํ•œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ž…๋ ฅ์ด ๋ช‡ ์ค„ ๋“ค์–ด์˜ค๋Š”์ง€ ์ฃผ์–ด์ง€์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ณ„์† ์ž…๋ ฅ์ด ๋“ค์–ด์˜จ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  while-loop๋ฅผ ์ด์šฉํ•ด ์ž…๋ ฅ์„ ๋ฐ›๊ณ , ์ž…๋ ฅ๋ฐ›์€ ๊ฒƒ์ด ์—†์œผ๋ฉด loop์„ ์ข…๋ฃŒํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. input()๊ณผ sys.stdin.readlines()๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‘ ๊ฐ€์ง€๋กœ ํ’€์ดํ–ˆ๋‹ค. โœ… 1. Buffered..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'Java' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)
์ƒ๋‹จ์œผ๋กœ