프로그래머스 : 완주하지 못한 선수 level1 / 음양더하기 level1

KHW·2021년 6월 21일
0

알고리즘

목록 보기
26/37

완주하지 못한 선수 문제

100/100
20분

기본적인 내용

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

  • 간단히 무조건 완주 못한 선수 하나가 있는데 그 선수를 찾는 것이다.

코드

function solution(participant, completion) 
{
    participant.sort()
    completion.sort()
    for(let i=0;i<participant.length;i++)
        {
            if(participant[i] !== completion[i])
                return participant[i];
        }
 }

처음에 participant를 전부 순회하고 나서 결과를 시도했다가 효율성에서 문제가 발생해 정렬 후 순회를 했을때 서로다른 부분이 보이는 즉시 그때가 완주 못한 선수이므로 리턴을 진행


음양더하기 문제

100/100
5분

기본적인 내용

absolutes에 있는 배열에서 해당 순서의 signs가 false이면 -를 true면 +를 진행해서 전부 더한다. => 모든 배열의 순회가 필수적이면서 해당 값들의 합을 요구하므로 reduce를 사용

코드

function solution(absolutes, signs) {
    return absolutes.reduce((acc,val,idx)=>signs[idx] == true ? acc+val : acc-val,0)
}
profile
나의 하루를 가능한 기억하고 즐기고 후회하지말자

0개의 댓글