일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 스프링 스케쥴러
- 쿠버네티스
- kubenetes
- K번째수
- 롬복 어노테이션
- @Data
- H-index
- Java
- 스택/큐
- 기능개발
- 고차원 함수
- @Getter
- 가장 큰 수
- 루씬 인 액션
- 모던 자바 인 액션
- 크론 표현식
- 영속 자료구조
- @Setter
- 커링
- 검색 기능 확장
- 완주하지 못한 선수
- 전화번호 목록
- @EnableScheduling
- 다리를 지나는 트럭
- 프로그래머스
- 정렬
- 코딩 테스트
- 알고리즘
- 해시
- @configuration
- Today
- Total
목록코딩 테스트 (10)
Today I Learned
n+(n-1)+(n-2)+...+1 해서 n^2 나오나 했는데, 생각해보니까 정렬해서 바로 아래 값이랑만 비교하면 되겠더라고. 가나다 가나다라마바사 가나라 이런식으로 정렬될꺼아냐? 시간복잡도는 정렬시간인 nlogn으로 나올것같다. 그래서 풀기는 금방 풀었는데... 코드 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].startsWith(phone_book[i])){ return false; } } return true; } } 결과 근데 해시 문..
2중 포문으로 돌리면 당연히 안되고, 해시 문제라서 해시를 사용했다. participant 배열을 돌면서 pHash에 (이름, 인원)으로 참가자를 더한다. 동명이인 때문에 인원 값이 들어간다. 그리고 completion 배열을 돌면서 인원을 한명씩 줄인다. 결과값 찾을때 한번 더 체크하기싫어서 인원이 0이 되면 해시에서 아예 지워버렸다. 처음에는 if문으로 해시에 값이 존재하는지 체크해서 참가자를 더했는데, 값이 없을 시 자동으로 default 값 셋팅해주는 getOrDefault라는 함수가 있더라. 코드 import java.util.HashMap; import java.util.Map; class Solution { public String solution(String[] participant, St..