자바 백준 27964번
실버 5
https://www.acmicpc.net/problem/27964
27964번: 콰트로치즈피자
치즈와 피자에 환장하는 비행씨는 매일같이 치즈피자를 사 먹다가 지갑이 거덜 나고 말았다. 만들어 먹는 것이 사 먹는 것보다 싸다는 것을 안 비행씨는 여러 가지 토핑을 가져와서 직접 피자를
www.acmicpc.net
문제 보기

분류: 구현, 자료 구조, 문자열, 해시를 사용한 집합과 맵
코드 풀이
import java.util.Scanner; import java.util.HashSet; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 토핑의 개수 입력 int n = sc.nextInt(); // PizzaMaker 객체 생성 PizzaMaker pizzaMaker = new PizzaMaker(); // 토핑 추가 for (int i = 0; i < n; i++) { String inputTopping = sc.next(); pizzaMaker.addTopping(inputTopping); } // 콰트로치즈피자 만들기 가능 여부 확인 및 출력 if (pizzaMaker.canMakeQuattroCheesePizza()) { System.out.println("yummy"); } else { System.out.println("sad"); } } } // 피자를 만드는 클래스 class PizzaMaker { // 중복이 없는 토핑을 저장하기 위한 HashSet private HashSet<String> uniqueToppings; // constructor public PizzaMaker() { uniqueToppings = new HashSet<>(); } // 토핑 추가 메서드 public void addTopping(String topping) { uniqueToppings.add(topping); } // 콰트로치즈피자를 만들 수 있는지 확인하는 메서드 public boolean canMakeQuattroCheesePizza() { // 치즈 토핑의 개수를 저장하기 위한 변수 int cheeseCount = 0; // 토핑 목록을 순회하며 치즈 토핑의 개수 계산 for (String topping : uniqueToppings) { if (topping.endsWith("Cheese")) { // 토핑이 "Cheese"로 끝나면 cheeseCount++; // 치즈 토핑 개수 증가 // System.out.println(cheeseCount); } } // 치즈 토핑 개수가 4개 이상이면 콰트로치즈피자를 만들 수 있음 return cheeseCount >= 4; } }
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 25192 - 인사성 밝은 곰곰이 (0) | 2024.03.29 |
---|---|
[Java] 백준 풀기 28446 - 볼링공 찾아주기 (2) | 2024.03.28 |
[Java] 백준 풀기 10974 - 모든 순열 (0) | 2024.03.26 |
[Java] 백준 풀기 25757 - 임스와 함께하는 미니게임 (0) | 2024.03.23 |
[Java] 백준 풀기 15233 - Final Score (0) | 2024.03.23 |