
HashMap & split & KeySet
📑문제
⭕정답
severData.split(",");
cnt++
🔍풀이
package jokun.KH.test0627;
import java.util.HashMap;
import java.util.Set;
public class Ex01 {
public static void main(String[] args) {
String severData = "apple, banana, orange, kiwi, mango, apple, apple, banana";
String[] splitData = severData.split(",");
// HashMap : key = value 이러한 형태를 가지는 자료구조, key 는 중복이 안된다.
HashMap<String, Integer> fruitBox = new HashMap<>();
// [0] : apple 기존에 map과 비교를 했는데 없어! => put("apple", 1);
// [1] : banana .. 또 없어! => put("banana", 1);
// [2] : orange .. 또 없어! => put("orange", 1);
//...반복하다가
// [5] : 비교했는데 겹치는게 있어서 true! => put("apple", 기존 깂에 +1); => put("apple", 2);
for (String fName : splitData) {
if (fruitBox.containsKey(fName)) {
int cnt = fruitBox.get(fName); //해당하는 키 넣으면 값 나옴
fruitBox.put(fName, ++cnt);
} else {
fruitBox.put(fName, 1);
}
}
Set<String> keySet = fruitBox.keySet();
int fruitCnt = keySet.size();
System.out.println(fruitCnt + "가지의 과일이 입고되었습니다.");
System.out.println("각 과일의 수량은 다음과 같습니다.");
for (String key : keySet) {
System.out.println(key + "=>" + fruitBox.get(key) + "개");
}
}
}
순서도 & if문
📑문제
⭕정답
간단하게 출력할 것과 if문을 써서, 순서도에서 요청한 내용만 작성하면 정답!
🔍풀이
[내가 제출한 답]
package jokun.KH.test0627;
import java.util.Scanner;
public class Ex02 {
public static void main(String[] args) {
System.out.println("=====포켓몬 빵 1개 판매시작=====");
System.out.print("구입할 빵 개수를 입력해주세요. : ");
int cnt = 1; //빵 재고
while (true){
Scanner sc = new Scanner(System.in);
int mansu = sc.nextInt(); //요청하는 빵 개수
if(mansu <= cnt){
System.out.println(mansu +"개가 판매완료 되었습니다.");
break;
}else{
System.out.println("재고가 부족합니다. 다시 입력해 주세요.");
}
}
}
}
[선생님께서 보안해주신 코드]
package jokun.KH.test0627;
import java.util.Scanner;
public class Ex02_2 {
public static void main(String[] args) {
int pkmBread = 1;
System.out.println("포켓몬 빵 " + pkmBread +"개 판매시작 하겠습니다.");
while (true){
Scanner sc = new Scanner(System.in);
System.out.println("구매할 빵의 갯수를 입력해 주세요.");
int buyerCnt = sc.nextInt();
if (pkmBread < buyerCnt){
System.out.println("요청한 갯수는" + buyerCnt + "이지만, 빵이 없습니다.");
if(isFinishSale(pkmBread)) {
System.out.println("빵이 모두 소진되었습니다.");
System.out.println("판매를 종료합니다.");
break;
}
}else {
System.out.println("판매한 갯수는 " + buyerCnt + "입니다. 판매완료!");
pkmBread = pkmBread - buyerCnt;
if(isFinishSale(pkmBread)) {
System.out.println("빵이 모두 소진되었습니다.");
System.out.println("판매를 종료합니다.");
break;
}
}
}
}
private static boolean isFinishSale(int totalBread){
return totalBread <= 0;
}
}
switch & case & default
📑문제
⭕정답
case 3:
print("세번째", key);
default:
print("마지막", key);
🔍풀이
package jokun.KH.test0627;
public class Ex03 {
public static void main(String[] args) {
int[] keys = {1, 2, 3};
for (int key : keys){
switch (key){
case 1:
print("첫번째", key);
break;
case 2:
print("두번째", key);
case 3:
print("세번째", key);
default:
print("마지막", key);
}
}
}
private static void print(String header, int num){
System.out.println(header + " " + num + "입니다.");
}
}
'Backend > JAVA' 카테고리의 다른 글
[JAVA] 특강 8일차 : 자바 문제풀이 & 코드리뷰 (0) | 2022.06.29 |
---|---|
[JAVA] 특강 7일차 : 자바 문제풀이 & 코드리뷰 (0) | 2022.06.29 |
[JAVA] 특강 5일차 : 자바 기초튼튼 문제풀이 part4~part6 (0) | 2022.06.25 |
[JAVA] 특강 4일차 : 자바 기초튼튼 문제풀이 part1~part3 (0) | 2022.06.23 |
[JAVA] 특강 3일차 : 자바 문제풀이 & 코드리뷰 (0) | 2022.06.23 |