<Algorithm> 96. 완주하지 못한 선수(프로그래머스)
by BFine반응형
1. 완주하지 못한 선수(프로그래머스)
문제해결능력 필요로 하는 문제
처음 접근을 List에서 요소를 삭제하는 방향으로 가려고 했는데 remove로 할 경우 중복요소 모두 사라진다
또한 index는 list가 지워져 list 크기가 달라지기 때문에 문제가 발생했다.
그래서 하나 차이나는 부분을 이용해서 문제를 접근했다.
Lambda Stream API로 푸는데 익숙하지가 않아서 조금 오래 걸렸다. 하지만 확실히 코드가 간결해지는 것을 느낄 수 있었다.
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 | import java.util.Arrays; import java.util.Optional; import java.util.stream.IntStream; public class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); Arrays.sort(completion); /****************************** * 한명만 완주를 못한 것이기 때문에 * 정렬을 해서 동등비교를 한다 * 이때 중복일 경우는 매치가 되지 않기 때문에 * 첫번째 매치가 되지 않는 경우가 답이된다. * 매치가 되지않는 경우가 없는 경우는 * 제일 마지막번째가 답이된다. *******************************/ Optional<String> res=IntStream.range(0, completion.length) .filter(i->!completion[i].equals(participant[i])) .mapToObj(i->participant[i]) .findFirst(); if(!res.isPresent()) { return participant[participant.length-1]; } return res.get(); } } | cs |
참고 & 출처
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 98. 더맵게(프로그래머스) (0) | 2019.02.01 |
---|---|
<Algorithm> 97. 쇠막대기(프로그래머스) (0) | 2019.01.31 |
<Algorithm> 95. 무지의 먹방라이브(KAKAO) (0) | 2019.01.29 |
<Algorithm> 94. 타켓넘버(프로그래머스) (0) | 2019.01.28 |
<Algorithm> 93. 등굣길(프로그래머스) (0) | 2019.01.27 |
블로그의 정보
57개월 BackEnd
BFine