Seren dev's blog
article thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/42577

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

phone_book을 정렬한 다음, 인접한 두 개의 전화번호끼리만 접두어가 되는지 판별한다.

코드

import java.util.*;

class Solution {
    public boolean solution(String[] phone_book) {
        Arrays.sort(phone_book);
        for (int i = 0; i < phone_book.length - 1; i++) {
            if (phone_book[i+1].indexOf(phone_book[i]) == 0) { //startsWith()
                return false;
            }
        }
        return true;
    }
}
phone_book[i+1].indexOf(phone_book[i]) != -1
if문 안의 조건식을 위와 같이 하면 "12", "3312"와 같은 경우도 true가 되기 때문에, indexOf() == 0으로 해야 한다.

 

728x90
profile

Seren dev's blog

@Seren dev

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!