Hamutaro - Hamtaro 4

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 118

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜

charAt ์„ ์‚ฌ์šฉํ•ด์„œ p or P๋ฉด count ์ฆ๊ฐ€, y or Y๋ฉด count ๊ฐ์†Œ์‹œ์ผœ์„œ count๊ฐ€ 0์ด๋ฉด true, 0์ด ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ–ˆ๋‹ค. class Solution { boolean solution(String s) { boolean answer = true; int count=0; for(int i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜?

n์ด ์ง์ˆ˜๋ฉด ์ˆ˜๋ฐ• or ์ˆ˜๋ฐ•์ˆ˜๋ฐ• or ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ• ... ์ด๋ ‡๊ฒŒ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๊ณ  ํ™€์ˆ˜๋ฉด ์ˆ˜๋ฐ•์ˆ˜ or ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜ or ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜ ... ์ด๋ ‡๊ฒŒ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ n์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋กœ ์ง, ํ™€ case๋ฅผ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ–ˆ๋‹ค. ์ง์ˆ˜๋Š” "์ˆ˜๋ฐ•" ๋‹จ์œ„๋กœ ์ถœ๋ ฅํ•˜๊ณ  ํ™€์ˆ˜๋Š” "์ˆ˜๋ฐ•" ๋‹จ์œ„ ์ถœ๋ ฅ์— "์ˆ˜" ๋ฅผ ๋”ํ•ด์คฌ๋‹ค. for๋ฌธ์„ ๋‘๊ฐœ๋‚˜ ๋งŒ๋“ ๊ฒƒ์—์„œ ์•„๋‹ˆ๋‹ค์‹ถ์—ˆ์ง€๋งŒ ์ผ๋‹จ ๊ทธ๋ƒฅ ์ฒ˜์Œ ์ƒ๊ฐํ•œ๋Œ€๋กœ ํ’€์—ˆ๋‹ค. class Solution { public String solution(int n) { String answer = ""; if(n%2==0){ for(int i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ

๋ฌธ์ž์—ด ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ณ ์ž ๊ธฐ๋ก ๋ฌธ์ž์—ด ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. substring substring(int a1) : a1๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜ํ™˜ substring(int a1, int a2) : a1~a2 ์ „๊นŒ์ง€ ๋ฐ˜ํ™˜ indexOf indexOf(int n/String str) : n์ด๋‚˜ str์ด ์žˆ๋Š” ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜ charAt charAt(int n) : n๋ฒˆ์งธ ์œ„์น˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ class Solution { public String solution(String s) { String answer = ""; if(s.length() % 2 == 0){ //์ง์ˆ˜ answer = s.substring(s.length()/2-1, s.length()/2+1); }else{ answer = s...

[Spring] ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ (Spring Framework)

ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๊ฐœ๋… ๊ตฌ์กฐ๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ํ‹€, ๋ผˆ๋Œ€๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.ํ‹€์„ ๋งŒ๋“ค์–ด๋†“๊ณ  ์‚ด์„ ๋ถ™์—ฌ ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํŠน์ •๊ฐœ๋…๋“ค์˜ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋‚˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.  ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ž๋ฐ” ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐ„๋‹จํžˆ ์Šคํ”„๋ง์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.์ž๋ฐ” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฐœ๋ฐœ์„ ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฒฝ๋Ÿ‰๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.์ž๋ฐ”๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ‹€๋กœ, ์ข…์† ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ  ์กฐ๋ฆฝํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.  ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ํŠน์ง• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ฐ„์˜ ๊ฒฐํ•ฉ์ด ๋А์Šจํ•˜๋‹ค.์ œ์–ด์˜ ์—ญํ–‰(IoC, Inversion of Control) ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปจํŠธ๋กค์˜ ์ œ์–ด๊ถŒ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋ ˆ์ž„์›Œํฌ์— ..

Spring 2021.08.20

[์ž๋ฐ”] DAO, DTO์˜ ์—ญํ• ๊ณผ ๊ด€๊ณ„

DAO (Data Access Object) DB์™€ ๊ฐ™์€ ์ €์žฅ์†Œ์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐ์ฒดDB์™€ ์ง์ ‘ ํ†ต์‹ ํ•˜๊ณ  SQL ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „๋‹ฌDAO๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด DB ๊ด€๋ จ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๊ณ  ํ…Œ์ŠคํŠธ๊ฐ€ ์‰ฌ์›Œ์ง๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ ์บก์Аํ™” : DAO๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์บก์Аํ™”CRUD ์ž‘์—… : DAO๋Š” Create, Read, Update, Delete์™€ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์ž‘์—… ์ˆ˜ํ–‰์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ๋กœ์ง์ด ์ค‘์•™ ์ง‘์ค‘ํ™”๋˜์–ด ์žˆ์–ด ์ˆ˜์ •์ด ์šฉ์ด import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.Resul..

Java 2021.08.18

[์ž๋ฐ”] String๊ณผ StringBuffer์˜ ์ฐจ์ด์ 

String String ๊ฐ์ฒด๋Š” ํ•œ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ํ• ๋‹น๋œ ๊ณต๊ฐ„์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.  StringBuffer  StringBuffer๋Š” ๊ฐ์ฒด์˜ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด์ง€๋Š” ๊ฒฝ์šฐ ๋ฒ„ํผ์˜ ํฌ๊ธฐ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‹ค. String๊ณผ StringBuffer์˜ ์ฐจ์ด์ ? String์€ ๋ถˆ๋ณ€๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์˜ ๋ฌธ์ž์—ด์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค.๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์„ ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค. String name = "๊ธธ๋™";name += "ํ™"; "๊ธธ๋™"์— "ํ™"์„ ๋”ํ•˜๊ฒŒ ๋˜๋ฉด "๊ธธ๋™ํ™" ์ด๋ผ๋Š” ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ ,data๋ณ€์ˆ˜๋Š” ์ƒˆ๋กœ ์ƒ์„ฑ๋œ String๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด์— ์žˆ๋Š” String๊ฐ์ฒด๋Š” ์ฐธ์กฐ๋˜์ง€ ์•Š๊ฒŒ ๋˜์–ด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ๋ฉ”๋ชจ๋ฆฌํ•ด์ œ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.๋ฌธ์ž์—ด์„ ํ•ฉ์ณ์ฃผ๋Š” + ์—ฐ์‚ฐ์ž๋ฅผ ..

Java 2021.08.18

[์ž๋ฐ”] ์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)๊ณผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)

์ž๋ฐ”์—์„œ ๋‹คํ˜•์„ฑ์„ ์ง€์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด ์žˆ๋‹ค.  ์˜ค๋ฒ„๋กœ๋”ฉ ์˜ค๋ฒ„๋กœ๋”ฉ์ด๋ž€ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๊ฑฐ๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; }}public class Main { public static void main(String[] args) { C..

Java 2021.08.18

[์ž๋ฐ”] ์ธํ„ฐํŽ˜์ด์Šค(Interface)์™€ ์ถ”์ƒํด๋ž˜์Šค(Abstract)

์ธํ„ฐํŽ˜์ด์Šค  ์ผ์ข…์˜ ์ถ”์ƒ ํด๋ž˜์Šค๋กœ interface ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์„ ์–ธํ•˜๊ณ ,์ƒ์†์‹œ implements ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ผ๋ฐ˜ ํด๋ž˜์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž์ฒด๋กœ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ  ๋‹ค์ค‘์ƒ์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค. // ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜interface Animal { void makeSound(); // ์ถ”์ƒ ๋ฉ”์„œ๋“œ void move(); // ์ถ”์ƒ ๋ฉ”์„œ๋“œ}// ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šคclass Dog implements Animal { @Override public void makeSound() { System.out.println("๋ฉ๋ฉ"); } @Override public void move() { System.o..

Java 2021.08.18