티스토리 뷰
프로그래머스 고득점 kit
구현 - 완주하지 못한 선수
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Arrays.sort(participant);
Arrays.sort(completion);
int i;
for(i=0; i<completion.length; i++){
if(!participant[i].equals(completion[i])) {
answer = participant[i];
return answer;
}
}
answer = participant[i];
return answer;
}
}
Array.sort()를 통해 먼저 정렬한 후 같지 않는 것을 찾는 방식이다.
배열문제에서 sort를 사용할 생각을 잘 못하는 것 같다.
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Map<String, Integer> map = new HashMap<String, Integer>();
for(int i = 0; i < participant.length; i++)
map.put(participant[i], map.getOrDefault(participant[i], 0) + 1); // 1**
for(int i = 0; i < completion.length; i++)
map.put(completion[i], map.get(completion[i]) - 1);
for(String key: map.keySet()){
if(map.get(key)!=0) answer = key;
}
return answer;
}
}
map 메소드 중 getOrDefault(); 를 잘 몰랐는데
1** - map 에서 participant[i] 값이 있다면 그 값을 반환하고 없다면 기본값(0)을 반환하는 메소드이다.
'algorithm' 카테고리의 다른 글
동적프로그래밍 알고리즘 (0) | 2021.04.09 |
---|---|
[algorithm] 전화번호 목록 (0) | 2021.04.03 |
[algorithm] 분할정복 알고리즘(2) (0) | 2021.03.30 |
[algorithm] 분할정복 알고리즘 (0) | 2021.03.26 |
[algorithm] 알고리즘의 기초 (0) | 2021.03.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- C
- stackframe
- dfs
- 소프트웨어
- server side rendering
- client side rendering
- 최단경로
- 교착상태
- 동적프로그래밍
- BFS
- react
- Stack
- 스텍
- 퀵정렬
- Java
- 이진탐색
- 인접리스트
- 인접행렬
- 재귀함수
- 운영체제
- 입출력장치
- 세마포어
- C++
- 병행프로세스
- 자료구조
- javascript
- 배열
- 구조체
- 클래스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함