250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- programmers
- 우분투
- ubuntu
- 리눅스
- CodingTest
- 티스토리
- error
- 알고리즘
- TypeScript
- Git
- 코딩
- 자바
- 티스토리챌린지
- Java
- AWS
- Linux
- EC2
- vscode
- 코딩테스트
- 개발공부
- 개발자
- 스프링부트
- React
- 프로그래머스
- SpringBoot
- Tistory
- 오블완
- 둔산동맛집
- 코테
- 개발
Archives
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- programmers
- 우분투
- ubuntu
- 리눅스
- CodingTest
- 티스토리
- error
- 알고리즘
- TypeScript
- Git
- 코딩
- 자바
- 티스토리챌린지
- Java
- AWS
- Linux
- EC2
- vscode
- 코딩테스트
- 개발공부
- 개발자
- 스프링부트
- React
- 프로그래머스
- SpringBoot
- Tistory
- 오블완
- 둔산동맛집
- 코테
- 개발
Archives
- Today
- Total
개발자가 된 감자
[프로그래머스] Lv.1 완주하지 못한 선수 본문
728x90
마라톤에 참여한 선수들의 이름이 담긴 배열 participant와
완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하기.
1. 변수 초기화
String answer = "";
Map<Integer, String> nameMap = new HashMap<>(); // 완주한 선수들의 이름을 담을 map
2. 완주한 선수들의 이름이 담긴 배열 오름차순 정렬
Arrays.sort(completion);
3. completion 배열 값을 key : index, value : 이름 형태로 map에 담기
for(int i=0; i<completion.length; i++){
nameMap.put(i, completion[i]);
}
4. 전체 선수의 이름이 담긴 배열 오름차순 정렬
Arrays.sort(participant);
5. 완주한 선수들의 이름이 담긴 map에 해당 이름이 없거나, for문의 마지막 인덱스일 경우,
해당 이름을 return 후 break
for(int i=0; i<participant.length; i++){
if(i == (participant.length-1) || !nameMap.get(i).equals(participant[i])) {
answer = participant[i];
break;
}
}
전체 코드
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Map<Integer, String> nameMap = new HashMap<>();
Arrays.sort(completion);
for(int i=0; i<completion.length; i++){
nameMap.put(i, completion[i]);
}
Arrays.sort(participant);
for(int i=0; i<participant.length; i++){
if(i == (participant.length-1) || !nameMap.get(i).equals(participant[i])) {
answer = participant[i];
break;
}
}
return answer;
}
}
더 좋은 코드가 떠오르시면 댓글에 공유해주세요 !
728x90
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 올바른 괄호 (0) | 2024.11.24 |
---|---|
[프로그래머스] Lv.1 카드 뭉치 (1) | 2024.11.18 |
[프로그래머스] Lv.1 과일 장수 (1) | 2024.11.16 |
[프로그래머스] Lv.1 로또의 최고 순위와 최저 순위 (0) | 2024.11.15 |
[프로그래머스] Lv.1 실패율 (2019 KAKAO BLIND RECRUITMENT) (2) | 2024.11.13 |
Comments