ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HashMap(프로그래머스 전화번호 목록)
    자료구조 2021. 12. 10. 20:14

    프로그래머스 전화번호 목록

    length, length(), size()

    • length = 배열의 길이
    • length() = 문자열의 길이
    • size() = 컬렉션프레임워크의 길이
      • 리스트 또는 Array 등 컬렉션 안에 들어있는 원소의 갯수(?)
    import java.util.HashMap;
    
    class Solution {
        public boolean solution(String[] phone_book) {
        //hashMap 생성
            HashMap<String, Integer> map = new HashMap<>();
            for(int i = 0; i<phone_book.length; i++)
                map.put(phone_book[i],1);
            //map 안에 접두어가 있는지 확인
            for(int i=0; i<phone_book.length; i++)
                for(int j=0; j<phone_book[i].length(); j++)
                    if(map.containsKey(phone_book[i].substring(0,j)))
                        return false;
            // 여기까지 왔다면 접두어가 없다는 의미
            return true;
        }
            public static void main(String[] args){
            String[] phone_book = {"119", "97684223", "1195524421"};
            Solution sol = new Solution();
    
            System.out.println(sol.solution(phone_book));
        }
    }
    • phone_book의 배열의 길이만큼 돌면서 인덱스 마다 1추가
    • 다시 phone_book 길이 만큼 돌면서 각각의 인덱스의 문자열만큼 j를 통해 다시돈다.
      • 위에서 각각의 인덱스에 해당하는 문자열을 0~j만큼 돌은 값을 containsKey에 담고 map에 있는지 확인
      • 접두어가 있으면 false를 반환하도록 설정(if문으로)
    • 만약 위 과정까지 밞았는데 false가 반환되지 않는다면 true 반환

    containsKey()

    • map에서 인자로 보낸 key가 있다면 true 없다면 false
      • 여기서는 접두어가 있다는 의미이므로 false 반환

    substring(i,j)

    • 문자열의 시작(i) 인덱스부터 종료(j)인덱스 까지에 해당하는 값을 반환

    Feat. 유튜버 "개발자로 취직하기"

    '자료구조' 카테고리의 다른 글

    문자열 공백 url 인코딩하기  (0) 2021.11.28
    TIL 38th day  (0) 2021.11.28
    문자열 치환  (0) 2021.11.27
    Array 중복 확인  (0) 2021.11.27
    StringBuilder  (0) 2021.11.26
Designed by Tistory.