-
https://programmers.co.kr/learn/courses/30/lessons/42577
코딩테스트 연습 - 전화번호 목록
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조
programmers.co.kr
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 전화번호가 주어졌을 때 어느 번호든 간에 다른 번호에 접미사 부분에
포함되면 false 그런 경우가 하나라도 없다면 true를 출력해 주는 문제다.
처음에 hashset을 이용해서 set에 값을 하나씩 넣으면서 비교를 해서 문제를
해결했는데, 테케는 모두 맞췄으나 효율성 부분에서 3,4번에서 시간 초과가 발생하였다.
그래서 도저히 해결을 못해서 구글링을 통해 검색해 봤는데 크게 2개의 답이 존재했고
하나는 String 클래스에 존재하는 비교.startsWith(접미사)를 이용하면
접미사를 체크할 수 있는 간편한 기능이었고, 하나가 이제 map에 먼저 다 넣어준 뒤
비교를 하는데 이때 앞에서부터 한 글자씩 비교하면서 접미사가 존재하는지를 판단해 준다.
처음에 해당 소스를 보고는 자기 자신이 겹치지 않을까라고 생각했는데 출력을 통해
결과를 확인하니 본인 기준으로 바로 앞자리까지면 체크하는 걸 확인할 수 있었다.
728x90'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 가장 큰 수 JAVA (0) 2022.03.08 프로그래머스 K번째수 JAVA (0) 2022.03.08 프로그래머스 기능개발 JAVA (0) 2022.03.02 프로그래머스 로또의 최고 순위와 최저 순위 JAVA (0) 2022.02.13 프로그래머스 해시 완주하지 못한 선수 JAVA (0) 2021.10.31 댓글