Algorithm/프로그래머스
[프로그래머스] 전화번호 목록
연어롤
2020. 5. 17. 21:43
https://programmers.co.kr/learn/courses/30/parts/12077
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.HashSet;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
HashSet<String> s = new HashSet<>();
for (String a : phone_book) {
s.add(a);
}
for (String a : phone_book) {
for (int i = 1; i < a.length(); i++) {
if (s.contains(a.substring(0, i))) {
answer = false;
break;
}
}
}
return answer;
}
}
ㅋㅋㅋ굳이 HashSet 안쓰고 이중 for문 돌려도 풀리긴 하는듯
어떤 분이 정렬 후 인접한 두 원소만 비교하는 알고리즘을 짜셨는데(정렬이니 O(nlgn)) 이것도 신박하다.