만능재주꾼

[프로그래머스 코딩테스트 연습] 해시 - 전화번호목록 - JAVA 본문

💻 Algorithm/Programmers

[프로그래머스 코딩테스트 연습] 해시 - 전화번호목록 - JAVA

유고랭 2020. 12. 26. 16:23

문제

  • 첫 줄에는 입력할 전화번호의 수 입력
  • 전화번호를 입력받아 전화번호 배열 만들기
  • 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어일 경우를 찾아내 접두어이면 false, 접두어가 아니면 true 출력하기

입출력 예제

  • 입력: [119,97674223,1195524421] -> 출력: false
  • 입력: [123,456,789] -> 출력:true
  • 입력: [12,123,1235,567,88] -> 출력: false

풀이

import java.util.Arrays;

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
		Arrays.parallelSort(phone_book);
		for(int i=0;i<phone_book.length-1;i++) {
			if (phone_book[i+1].startsWith(phone_book[i])) {
				answer = false;
				break;
			}
		}
		return answer;
    }
}

+ 전체 코드

import java.io.*;
import java.util.Arrays;

class Solution {
    public void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		String number;
		int num = Integer.parseInt(br.readLine());
		String phone_book[] = new String [num];
		for (int i=0;i<phone_book.length;i++) {
			number = br.readLine();
			phone_book[i] = number;
		}
		System.out.print(solution(phone_book));
	}
    public boolean solution(String[] phone_book) {
        boolean answer = true;
		Arrays.parallelSort(phone_book);
		for(int i=0;i<phone_book.length-1;i++) {
			if (phone_book[i+1].startsWith(phone_book[i])) {
				answer = false;
				break;
			}
		}
		return answer;
    }
}

 

Comments