• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

replace() 사용은 어떤가요?

20.03.20 12:07 작성 조회수 97

2

안녕하세요. 선생님

보다가 궁금한게 있는대요. 저 같은 경우 String의 replace(), indexOf() 메소드를 이용하여 다음과 같이 구현했습니다.

public static int numUniqueEmails(String[] emails) {

Set<String> set = new HashSet<>();

for (String email : emails) {
String[] str = email.split("@");

str[0] = str[0].replace(".", "");

int index = str[0].indexOf("+");

if (index >= 0) {
str[0] = str[0].substring(0, index);
}

set.add(str[0] + "@" + str[1]);
}

return set.size();
}

단순 구현 방식의 차이인 건지 아니면 StringBuilder 를 이용하는 것이 더 이점이 있는 건지 궁금합니다.

답변 1

답변을 작성해보세요.

2

안녕하세요.~

저는  StringBuilder에 담았지만, 바로 님처럼 찾아도 상관없죠. 오히려 더 심플하네요

Set에서 중복을 제거한 것들만 담는 방법의 차이이죠.

감사합니다.