Menu
CoddyTech

복습 - 창고 관리

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨. 59개 중 20번째.

challenge icon

챌린지

쉬움

manageWarehouse라는 이름의 메서드를 만들고, 다음 두 개의 인수를 받도록 하세요.

  1. 이름이 warehouse인 HashMap이며, 다음과 같습니다.
    • 키는 제품 이름(String)을 나타냅니다.
    • 값은 수량(Integer)을 나타냅니다.
  2. 연산 목록(String[] operations)이며, 각 문자열은 다음 형식 중 하나를 따릅니다.
    • "ADD product quantity" → 주어진 수량을 기존 제품에 더합니다(제품이 없으면 새로 만듭니다).
    • "REMOVE product quantity" → 제품의 수량을 줄입니다. 수량이 0 이하가 되면 제품을 제거합니다.
    • "CHECK product" → 제품이 있으면 true를 출력하고, 그렇지 않으면 false를 출력합니다.
    • "PRINT" → 모든 제품과 수량을 다음 형식으로 출력합니다.

      Product: Laptop, Quantity: 10
      Product: Mouse, Quantity: 50

String을 Integer로 변환하려면 다음을 사용합니다.

String quantityString = "25";  
int quantity = Integer.valueOf(quantityString);  
System.out.println(quantity + 5); // Output: 30

Integer.valueOf()를 사용하면 계산에 사용할 수 있는 정수를 얻을 수 있습니다.

직접 해보기

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void manageWarehouse(HashMap<String, Integer> warehouse, String[] operations) {
        // 여기에 코드를 작성하세요
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String warehouseString = scanner.nextLine();
        String operationsString = scanner.nextLine();

        // JSON 문자열을 HashMap으로 변환
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);

        // JSON 문자열을 Array로 변환
        String[] operations = new Gson().fromJson(operationsString, String[].class);

        manageWarehouse(warehouse, operations);
    }
}

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Java 컴파일러