From 0ee8b7c78aa16a8c27a0be04395151fd5783ff94 Mon Sep 17 00:00:00 2001 From: ggomabbang Date: Sat, 8 Jul 2023 21:01:58 +0900 Subject: [PATCH] problem34-sunny --- src/main/java/Problem/sunny/Chapter3/Q01.java | 3 ++- src/main/java/Problem/sunny/Chapter3/Q02.java | 5 ++++ src/main/java/Problem/sunny/Chapter3/Q03.java | 2 ++ src/main/java/Problem/sunny/Chapter3/Q04.java | 1 + src/main/java/Problem/sunny/Chapter3/Q05.java | 2 ++ src/main/java/Problem/sunny/Chapter3/Q06.java | 3 +++ src/main/java/Problem/sunny/Chapter3/Q07.java | 2 ++ src/main/java/Problem/sunny/Chapter3/Q08.java | 2 ++ src/main/java/Problem/sunny/Chapter3/Q09.java | 3 +++ src/main/java/Problem/sunny/Chapter3/Q10.java | 23 +++++++++++++------ src/main/java/Problem/sunny/Chapter4/Q01.java | 1 + src/main/java/Problem/sunny/Chapter4/Q02.java | 9 ++++++++ src/main/java/Problem/sunny/Chapter4/Q03.java | 5 ++++ src/main/java/Problem/sunny/Chapter4/Q04.java | 3 +++ src/main/java/Problem/sunny/Chapter4/Q05.java | 7 ++++++ 15 files changed, 63 insertions(+), 8 deletions(-) diff --git a/src/main/java/Problem/sunny/Chapter3/Q01.java b/src/main/java/Problem/sunny/Chapter3/Q01.java index 6117f91..6041f75 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q01.java +++ b/src/main/java/Problem/sunny/Chapter3/Q01.java @@ -9,7 +9,8 @@ public static void main(String[] args) { int korean = 80; int english = 75; int math = 55; - // TODO: 평균 점수를 구해서 출력하기 + float result = (korean + english + math) / 3; + System.out.println(result); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q02.java b/src/main/java/Problem/sunny/Chapter3/Q02.java index 7eda8d0..ff3b622 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q02.java +++ b/src/main/java/Problem/sunny/Chapter3/Q02.java @@ -9,5 +9,10 @@ public static void main(String[] args) { int num = 13; // TODO: num이 홀수라면 odd를, 짝수라면 even을 출력하기 + if ((num % 2) == 1) { + System.out.printf("odd"); + } else { + System.out.println("even"); + } } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q03.java b/src/main/java/Problem/sunny/Chapter3/Q03.java index 6ca3e45..e2a9cb6 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q03.java +++ b/src/main/java/Problem/sunny/Chapter3/Q03.java @@ -9,5 +9,7 @@ public static void main(String[] args) { String personNumber = "881120-1068234"; // TODO: 주민등록번호를 연월일(YYYYMMDD) 부분과 그 뒤의 숫자 부분으로 나누어 출력하기 + System.out.println(personNumber.substring(0, 6)); + System.out.println(personNumber.substring(7, 14)); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q04.java b/src/main/java/Problem/sunny/Chapter3/Q04.java index ab712d8..319f5d3 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q04.java +++ b/src/main/java/Problem/sunny/Chapter3/Q04.java @@ -9,5 +9,6 @@ public static void main(String[] args) { String personNumber = "881120-1068234"; // TODO: 주민등록번호에서 성별을 나타내는 숫자(뒷자리의 맨 첫번째 숫자)를 출력하기 + System.out.println(personNumber.charAt(7)); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q05.java b/src/main/java/Problem/sunny/Chapter3/Q05.java index 4a0af52..2b0414b 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q05.java +++ b/src/main/java/Problem/sunny/Chapter3/Q05.java @@ -9,5 +9,7 @@ public static void main(String[] args) { String a = "a:b:c:d"; // TODO: replace 함수를 사용하여 a#b#c#d로 바꿔서 출력해 보자. + String b = a.replaceAll(":", "#"); + System.out.println(b); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q06.java b/src/main/java/Problem/sunny/Chapter3/Q06.java index c1c888a..fbfab79 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q06.java +++ b/src/main/java/Problem/sunny/Chapter3/Q06.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; public class Q06 { @@ -13,5 +14,7 @@ public static void main(String[] args) { System.out.println(myList); // [1, 3, 5, 4, 2]가 출력됨. // TODO: 리스트를 [5, 4, 3, 2, 1]로 만들어서 출력하기 + myList.sort(Comparator.reverseOrder()); + System.out.println(myList); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q07.java b/src/main/java/Problem/sunny/Chapter3/Q07.java index 405168e..e579ff9 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q07.java +++ b/src/main/java/Problem/sunny/Chapter3/Q07.java @@ -13,5 +13,7 @@ public static void main(String[] args) { System.out.println(myList); // [Life, is, too, short] 출력됨. // TODO: 리스트를 "Life is too short" 문자열로 만들어 출력해 보자. + String a = String.join(" ", myList); + System.out.println(a); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q08.java b/src/main/java/Problem/sunny/Chapter3/Q08.java index 7bde89d..7566b9e 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q08.java +++ b/src/main/java/Problem/sunny/Chapter3/Q08.java @@ -14,5 +14,7 @@ public static void main(String[] args) { grade.put("C", 70); // TODO: 다음의 맵 grade에서 "B'에 해당되는 값을 추출해 보자. (추출하고 나면 grade에는 "B"에 해당하는 아이템이 사라져야 한다.) + grade.remove("B"); + System.out.println(grade); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q09.java b/src/main/java/Problem/sunny/Chapter3/Q09.java index 650150e..7d3c0ca 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q09.java +++ b/src/main/java/Problem/sunny/Chapter3/Q09.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; public class Q09 { @@ -13,5 +14,7 @@ public static void main(String[] args) { System.out.println(numbers); // [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5] 출력됨. // TODO: numbers 리스트에서 중복 숫자를 제거해 보자. + HashSet nums = new HashSet<>(numbers); + System.out.println(nums); } } diff --git a/src/main/java/Problem/sunny/Chapter3/Q10.java b/src/main/java/Problem/sunny/Chapter3/Q10.java index c0e704a..63fa69f 100644 --- a/src/main/java/Problem/sunny/Chapter3/Q10.java +++ b/src/main/java/Problem/sunny/Chapter3/Q10.java @@ -7,17 +7,26 @@ public class Q10 { /** * 다음은 커피의 종류(1: 아메리카노, 2:아이스 아메리카노, 3:카페라떼)를 입력하면 커피의 가격을 알려주는 프로그램이다. 위 코드에서 1, 2, 3과 같은 매직넘버를 제거하여 프로그램을 개선해보자. */ - static void printCoffeePrice(int type) { - HashMap priceMap = new HashMap<>(); - priceMap.put(1, 3000); // 1: 아메리카노 - priceMap.put(2, 4000); // 2: 아이스 아메리카노 - priceMap.put(3, 5000); // 3: 카페라떼 + enum CoffeeType { + AMERICANO, + ICE_AMERICANO, + CAFE_LATTE + } + + ; + + static void printCoffeePrice(CoffeeType type) { + HashMap priceMap = new HashMap<>(); + priceMap.put(CoffeeType.AMERICANO, 3000); // 1: 아메리카노 + priceMap.put(CoffeeType.ICE_AMERICANO, 4000); // 2: 아이스 아메리카노 + priceMap.put(CoffeeType.CAFE_LATTE, 5000); // 3: 카페라떼 int price = priceMap.get(type); System.out.println(String.format("가격은 %d원 입니다.", price)); } public static void main(String[] args) { - printCoffeePrice(1); // "가격은 3000원 입니다." 출력 - printCoffeePrice(99); // NullPointerException 발생 + printCoffeePrice(CoffeeType.AMERICANO); // "가격은 3000원 입니다." 출력 + printCoffeePrice(CoffeeType.CAFE_LATTE); + //printCoffeePrice(99); // NullPointerException 발생 } } diff --git a/src/main/java/Problem/sunny/Chapter4/Q01.java b/src/main/java/Problem/sunny/Chapter4/Q01.java index 585500c..b9a410d 100644 --- a/src/main/java/Problem/sunny/Chapter4/Q01.java +++ b/src/main/java/Problem/sunny/Chapter4/Q01.java @@ -20,5 +20,6 @@ public static void main(String[] args) { } // TODO: 코드의 출력 결과가 무엇일지 생각해보기 + // everywhere } } diff --git a/src/main/java/Problem/sunny/Chapter4/Q02.java b/src/main/java/Problem/sunny/Chapter4/Q02.java index 4eecf3c..b7273de 100644 --- a/src/main/java/Problem/sunny/Chapter4/Q02.java +++ b/src/main/java/Problem/sunny/Chapter4/Q02.java @@ -7,5 +7,14 @@ public class Q02 { */ public static void main(String[] args) { // TODO: while 문을 사용해서 1부터 1000까지의 자연수 중 3의 배수의 합을 구하기 + int i = 1; + int sum = 0; + while (i <= 1000){ + if ((i%3) == 0){ + sum += i; + } + i++; + } + System.out.println(sum); } } diff --git a/src/main/java/Problem/sunny/Chapter4/Q03.java b/src/main/java/Problem/sunny/Chapter4/Q03.java index 8b84fb9..7f4aab0 100644 --- a/src/main/java/Problem/sunny/Chapter4/Q03.java +++ b/src/main/java/Problem/sunny/Chapter4/Q03.java @@ -7,7 +7,12 @@ public class Q03 { */ public static void main(String[] args) { // TODO: while문 또는 for 문을 사용하여 다음과 같이 별(*)을 표시하는 프로그램을 작성해 보자. + String stars = ""; + for (int i=0; i<5; i++){ + stars += "*"; + System.out.println(stars); + } //* //** //*** diff --git a/src/main/java/Problem/sunny/Chapter4/Q04.java b/src/main/java/Problem/sunny/Chapter4/Q04.java index d6b33ab..c1575d1 100644 --- a/src/main/java/Problem/sunny/Chapter4/Q04.java +++ b/src/main/java/Problem/sunny/Chapter4/Q04.java @@ -7,5 +7,8 @@ public class Q04 { */ public static void main(String[] args) { // TODO: for문을 사용해 1부터 100까지의 숫자를 출력해 보자. + for (int i=1; i<=100; i++){ + System.out.println(i); + } } } diff --git a/src/main/java/Problem/sunny/Chapter4/Q05.java b/src/main/java/Problem/sunny/Chapter4/Q05.java index 8bbe869..03b45a6 100644 --- a/src/main/java/Problem/sunny/Chapter4/Q05.java +++ b/src/main/java/Problem/sunny/Chapter4/Q05.java @@ -9,5 +9,12 @@ public static void main(String[] args) { int[] marks = {70, 60, 55, 75, 95, 90, 80, 80, 85, 100}; // TODO: for each 문을 사용하여 A 학급의 평균 점수를 구해 보자. + int sum = 0; + float result = 0; + for (int score : marks){ + sum += score; + } + result = sum / 10; + System.out.println(result); } }