여기서 배열 두개를 합쳐 보기도 하고 교집합이랑 차집합 검색도 해보고 해봤지만
못풀어서 답지를 봤다 저 마지막에 동명이인때문에 너무 힘들었습니다
생각보다 답지가 간단해서 놀랬어요
if(participant[i] !== completion[i])
이게 정말 핵심이였던거 같아요 false 나오면 그걸
participant[i] 이렇게 리턴하니까 바로 딱 나오더라고요
동명이인도 두개 비교했을때 한명 남으니까 false 떴어요
여거는 향해99하면서 알고리즘 풀면서 문제 해석해주셨는데 지금 주석 달아 있어도 이해하기 힘들었습니다
일단 처음에 바로 화살표 함수 나와서 당황
이문제를 풀어주신 선배님?이 엄청 좋은 메소드만 사용해서 여기 문제가 중요 한거같아요 시간을 투자하면서 하나하나 뜯어보겠습니다 -- 내일!
일단 빠르게 핵심 메소드를 볼게요
arrow function - 전통적인 함수표현(function)의 간편한 대안입니다. 하지만, 화살표 함수는 몇 가지 제한점이 있고 모든 상황에 사용할 수는 없습니다.
제한
.1 this나 super에 대한 바인딩이 없고, methods 로 사용될 수 없습니다.
.2 new.target키워드가 없습니다.
.3 일반적으로 스코프를 지정할 때 사용하는 call, apply, bind methods를 이용할 수 없습니다.
.4 생성자(Constructor)로 사용할 수 없습니다.
.5 yield를 화살표 함수 내부에서 사용할 수 없습니다.
split() - 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
map() - 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다.
join() - 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.
이문제는 무한 메소드 검색으로 풀었어요
처음에 var arry = (n+''); 로 문자열 만들고
split('') - 하나하나 배열 만들기
map(n => +n) 다시 문자 배열을 숫자로
reverse() 로 반대로 뒤집어서 완성
이거도 전에 했던거랑 비슷하게 사용
다른거는 내림차순 만들기
.sort((a,b)=> b - a).join('')
sort로 배열 만들기 b-a로 내림 차순으로 한후
.join('')으로 문자열 생성
마지막 Number로 숫자 만들기 끝!!