잡다한 배똥월드

728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? X
본인의 실력으로 풀었는가? O

 

 

코딩테스트 연습 - 전화번호 목록

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조

programmers.co.kr

 

 

 

 

 

import java.util.*;
class Solution {
    
    public boolean solution(String[] phone_book) {
        Arrays.sort(phone_book);  //문자열을 정렬하면 사전순으로 정렬이 됨

		//i+1 위치의 문자가 i 위치의 문자로 시작하면 false 리턴
        for (int i = 0; i < phone_book.length - 1; i++) {
            if (phone_book[i+1].indexOf(phone_book[i]) == 0) return false;
        }
        
        //for문이 종료되면 그냥 true 리턴
        return true;
    }
}

 

정확성 테스트
테스트 1 통과 (0.26ms, 70.1MB)
테스트 2 통과 (0.27ms, 75.7MB)
테스트 3 통과 (0.27ms, 76.8MB)
테스트 4 통과 (0.21ms, 75MB)
테스트 5 통과 (0.23ms, 76.3MB)
테스트 6 통과 (0.29ms, 70.8MB)
테스트 7 통과 (0.21ms, 76.8MB)
테스트 8 통과 (0.16ms, 74.6MB)
테스트 9 통과 (0.25ms, 72.7MB)
테스트 10 통과 (0.23ms, 74.9MB)
테스트 11 통과 (0.21ms, 77.2MB)
테스트 12 통과 (0.22ms, 80MB)
테스트 13 통과 (0.25ms, 72.6MB)
테스트 14 통과 (2.47ms, 75.2MB)
테스트 15 통과 (3.37ms, 76.7MB)
테스트 16 통과 (2.86ms, 74.1MB)
테스트 17 통과 (3.29ms, 70.2MB)
테스트 18 통과 (5.81ms, 76MB)
테스트 19 통과 (4.50ms, 73.1MB)
테스트 20 통과 (5.60ms, 83MB)
효율성 테스트
테스트 1 통과 (18.05ms, 59.5MB)
테스트 2 통과 (17.98ms, 56.3MB)
테스트 3 통과 (417.88ms, 98.7MB)
테스트 4 통과 (327.33ms, 97.5MB)

 

 

 

 

 

엄청 간단한 문제였는데 해시 문제길래 해시를 써야하나 하고 계속 복잡하게 생각했었는데,

효율성 테스트 4번만 시간 초과가 계속 나와서 짜증났다가 순간 저게 생각이 나서 하니까 바로 통과했다...

 

 

 

 

 

728x90

+ Recent posts