โ
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", ..
My Tech Blog (Java)
์์ธ์ฒ๋ฆฌ 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..