본문 바로가기
프로그래밍/코딩 테스트

프로그래머스 코딩테스트 연습 문제 풀어보기 - Java 자바 - 전화번호 목록

by nisne 2020. 9. 20.

programmers

프로그래머스 코딩테스트 연습 문제 풀어보기

 

 

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

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

programmers.co.kr


 

문제) 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.

 

문제에 대한 자세한 내용은 위 링크에서 확인해 보세요!

 


 

이 문제를 아래와 같이 풀어보았는데, 효율성 테스트에서 계속 실패가 뜨네요.

왜 실패인지 알려주실 분~!

 

(실패가 워낙 많아 ㅋㅋ 서식으로 만듬)

 

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        
        for (int i = 0; i < phone_book.length; i++) {
			for (int j = i+1; j < phone_book.length; j++) {				
				if (phone_book[i].length() > phone_book[j].length()) {
					int a = phone_book[j].length();					 
					 if (phone_book[j].equals(phone_book[i].substring(0, a))) {
						 answer = false;
						 break;
					}
				}else {
					 int b = phone_book[i].length();					 
					 if (phone_book[i].equals(phone_book[j].substring(0, b))) {
						 answer = false;
						 break;
					}
				}
			}
		}        
        return answer;
    }
}

 


영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.

영어를 배울 수밖에 없다면... ^_^

 

 

댓글