반응형

프로그래머스 해쉬 2단계 연습문제입니다.


소스코드는 작성자에 따라서 다릅니다.


오히려 1단계 보다는 쉽게 느껴지는 사람들도 있을 겁니다.

필요한 메소드를 찾는것이 어려워서 그렇지 알고리즘 로직 자체는 생각보다 간단합니다.



배열안에서 여러개의 값들 중 접두어가 있는지 판별하는 문제입니다. 접두어가 포함 되어있으면 false 아니면 True 를 반환합니다.



public class test_02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] phonebook = {"119","9764223","1195524421"};
// String[] phonebook = {"123","456","789"};
// 문제를 위한 예시
Solution so = new Solution();
System.out.println(so.solution(phonebook));
}
}
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
for(int i = 0; i<phone_book.length;i++) {
for(int j = 0; j<phone_book.length;j++) {
if(phone_book[j].startsWith(phone_book[i]) && i != j) {return false;}
// 자기 자신을 제외한 다른 값들과 비교 연산
}
}
return answer;
}
}


반응형