(❗️TODO)부분 집합

박채은·2023년 1월 2일
0

코딩테스트

목록 보기
15/52

문제

문자열을 입력받아 각 문자를 가지고 만들 수 있는 모든 부분집합을 리턴해야 합니다.

[코플릿 - powerSet]


코드

문법

String -> ArrayList

평상시에는 for문을 돌면서 String의 문자 하나씩 ArrayList에 넣거나, addAll()을 사용해서 한 번에 ArrayList에 넣었다.

하지만 좀 더 깔끔하게 코드를 짤 수 있는 건 없나 해서 찾아봤다.

ArrayList<String> arr = new ArrayList<>(Arrays.asList(str.split("")));
  • Arrays.asList를 사용하면, 코드를 깔끔하게 할 수 있다.

CharSequence

if(!uniqueStr.contains(str.charAt(i))){}
  • str에서 중복을 제거한 문자열 -> uniqueStr
  • contains()를 사용해서 중복을 체크하려고 했는데 오류가 발생했다.
    • contains()의 인자에는 CharSequence 타입이 들어와야 하는데 str.charAt(i)는 char 타입이기 때문이다.

✔️ CharSequence 타입은 무엇일까?

CharBuffer, Segment, String, StringBuffer, StringBuilder

https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html

0개의 댓글