티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/42577?language=java#
[ 나의 풀이 ]
sorting 작업을 추가해서 효율성을 높이고자 하였지만 성능 2케이스에 실패했다.
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
class Solution {
public boolean solution(String[] phone_book) {
List<String> numbers = Arrays.asList(phone_book);
Collections.sort(numbers);
for(int i = 0; i < numbers.size()-1 ; i++) {
for(int j = i+1; j < numbers.size() ; j++) {
if(numbers.get(i).charAt(0) < numbers.get(i).charAt(0)) {
break;
}
if(numbers.get(j).indexOf(numbers.get(i)) == 0) {
return false;
}
}
}
return true;
}
}
[ 다른 사람의 풀이 참고 ]
굳이 이중 for문을 사용하지 않고, 바로 다음 데이터만 확인하면 되는것이 포인트다.
결과는 true, false 인지만 확인하면 되므로.
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
class Solution {
public boolean solution(String[] phone_book) {
List<String> numbers = Arrays.asList(phone_book);
Collections.sort(numbers);
for(int i = 0; i < numbers.size()-1 ; i++) {
if(numbers.get(i+1).indexOf(numbers.get(i)) == 0) {
return false;
}
}
return true;
}
}
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 베스트앨범 (0) | 2022.04.19 |
---|---|
[프로그래머스] 위장 (0) | 2022.04.01 |
[LeetCode] Valid Palindrome (0) | 2022.03.31 |
[LeetCode] Group Anagrams (0) | 2022.03.31 |
[프로그래머스] 완주하지 못한 선수 (0) | 2022.03.31 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크