인프런 커뮤니티 질문&답변
HashSet을 이용한 방식도 괜찮나요?
작성
·
252
4
Set을 이용해서 작성해봤는데 이 방법은 어떤지 궁금합니다.
import java.util.*;
public class Q6Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char[] value = sc.nextLine().toCharArray();
Set<String> cache = new HashSet<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < value.length; i++) {
String val = String.valueOf(value[i]);
if (cache.contains(val)) {
continue;
}
cache.add(val);
sb.append(val);
}
System.out.println(sb.toString());
}
}퀴즈
대소문자를 구분하지 않고 문자열 내 특정 문자의 총 개수를 세려면, 어떤 방법이 가장 효율적일까요?
문자열을 반복하며 각 문자가 찾으려는 문자의 대문자 또는 소문자인지 모두 비교한다.
문자열 전체를 한 가지 케이스(예: 모두 대문자)로 통일한 후 해당 문자의 개수를 센다.
대문자와 소문자의 개수를 각각 세어 합산한다.
Set 자료구조를 사용하여 중복 없이 문자를 저장한 후 개수를 센다.





