자바 백준 27964번
실버 5
https://www.acmicpc.net/problem/27964
문제 보기
분류: 구현, 자료 구조, 문자열, 해시를 사용한 집합과 맵
코드 풀이
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 |