• Home

My Codegate

  • Home

백준 27160 할리갈리 자바 문제풀이

2023/12/11 Posted by Codegate Java No Comments
백준 27160 할리갈리 자바 문제풀이

문제 링크

문제 내용은 위에 할리갈리 게임 설명을 길게 하지만 본질과는 별 상관이 없고, 결국은 입력으로 과일과 갯수를 받아서 합이 5인 과일이 한 종류라도 있으면 YES 아니면 NO를 출력해주면 되는데

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

// 할리갈리 https://www.acmicpc.net/problem/27160
// 과일이 5개 있는 경우에만 YES 아니면 모두 NO
// MAP을 이용해 전체 갯수를 담은 후 5개 있으면 YES / 아니면 NO
public class Haligali {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());
    HashMap<String, Integer> fruit = new HashMap<>();

    for (int i = 0; i < count; i++) {
      String[] split = br.readLine().split(" ");
      int existValue = fruit.getOrDefault(split[0], 0);
      fruit.put(split[0], existValue + Integer.parseInt(split[1]));
    }

    if (fruit.containsValue(5)) {
      System.out.println("YES");
    } else {
      System.out.println("NO");
    }
  }
}

처음 입력으로 받은 과일 갯수만큼 for 문을 돌리되, 과일 종류와 숫자를 Map을 사용해서 저장하면 과일별로 숫자를 편하게 관리할 수 있기 때문에 코드를 길게 짤 필요가 없어진다

코드를 보면 for문 돌리면서 map에 key 있으면 값만 더하면서 업데이트하고 그렇지 않으면 신규로 값을 넣어주는 식인데(put) 다 넣어주고 난 다음에는 Map의 ContainsValue를 사용해서 5가 있는 값이 있는지 확인한 후 있으면 YES 없으면 NO를 출력해주면 끝이다

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next