• Home

My Codegate

  • Home

백준 16499 동일한 단어 그룹화하기 자바 문제풀이

2023/12/26 Posted by Codegate Java No Comments
백준 16499 동일한 단어 그룹화하기 자바 문제풀이

문제 링크

문제 내용은 입력으로 문자열을 받되, 문자열의 순서만 다르고 들어있는 값이 동일할 경우에는(cat, tca) 같은 값으로 치도록 해서, 최소 문자열 그룹의 갯수를 출력해줘야 한다

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedHashSet;

public class Main {

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

    HashSet<String> set = new LinkedHashSet<>();
    for (int i = 0; i < count; i++) {
      String[] split = br.readLine().split("");
      Arrays.sort(split);
      StringBuilder sb = new StringBuilder();
      Arrays.stream(split).forEach(sb::append);
      set.add(sb.toString());
    }
    System.out.println(set.size());
  }

}

문제를 보면 최대 입력이 100개 정도로 매우 적기 때문에, 문자열을 split 으로 쪼갠 뒤 Arrays.sort로 정렬해서 StringBuilder에 넣어준 후 Set에 add 하는 식으로 진행해주면

문자열 순서는 달라도 정렬에 따라 동일하게 배치되고, 이후 Set에 넣어주면 중복을 허용하지 않기 때문에 입력받은 모든 값을 Set에 넣어준 후 Set의 크기를 출력해주면 끝이다.

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