-
[JS] 프로그래머스 코딩테스트 Lv. 2 ) 최댓값과 최솟값Coding Test 2022. 10. 24. 20:39
Test Explain
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
My Answer
function solution(s) { let b = [...s.split(' ')]; let c=b.map(function(i){ return i*1; }) return Math.min.apply(null,c)+' '+Math.max.apply(null,c); }
* apply() 메소드는 배열에서 바로 Math.max 또는 Math.min으로 최대최소값을 뽑을 수 없기 때문에 사용한다. 이 상황은 민, 맥스 메소드의 argument로는 숫자만 들어갈 수 있기 때문에 발생한다. apply 는 두 번째 인자를 배열로 받고, 그 배열을 각각의 인자로 배정해서 연산이 가능한 상태로 만들어준다. apply의 첫 번째 인자는 this 로 사용할 매개변수를 쓰는데, 여기서는 this를 쓸 필요가 없으므로 null을 넣어주었다.
* 전개 연산자(...) : 참조값이 아니라 해당 변수가 가진 값을 복사하여 할당하는 것이다(깊은 복사). 새로운 값을 함께 할당할 수 있다. 따라서 기존의 변수의 값이 변경되어도, 영향을 받지 않는다.
Reference Answer
function solution(s) { const arr = s.split(' '); return Math.min(...arr)+' '+Math.max(...arr); }
function solution(s) { var arr = s.split(' '); arr.sort((a, b) => a - b); var answer = arr[0] + " " + arr[arr.length-1]; return answer; }
배열을 sort() 를 사용해서 정렬한 뒤에, 인덱스를 이용하여 값을 취했다.
외부 참조 링크
https://hianna.tistory.com/487
[Javascript] 배열에서 최대값, 최소값 구하기
Javascript 배열의 여러 원소들 중 최대값, 최소값을 구하는 방법을 정리합니다. 1. Math.max(), Math.min() 소개 2. Function.prototype.apply() 사용하기 3. Spread Operator(전개 연산자) 사용하기 1. Math.max..
hianna.tistory.com
https://velog.io/@devmin/TIL-%ED%95%A8%EC%88%98-%EB%A9%94%EC%86%8C%EB%93%9C-5ok29tthyz
[TIL] JS_함수 메소드(apply, call, bind) 정리
코드스테이츠 함수 메소드 강의 내용 정리 메소드 기본 개념 apply, call, bind 각 메소드는 아래와 같이 사용할 수 있습니다. >[apply] 작성법 : fn.apply(thisArg, [argsArray]) this 인자를 첫번째 인자로 받고,
velog.io
자바스크립트 {...} [...] 문법 (비구조화 할당/구조분해 할당)
자바스크립트의 문법에 대한 글을 검색하면 대부분 let, const 혹은 화살 함수(arrow function)에 대한 이야기가 주를 이룹니다. 이번 시간에는 흔히 알려지지 않았지만 유용한 비구조화 할당 문법을
yuddomack.tistory.com
'Coding Test' 카테고리의 다른 글
[JS] 프로그래머스 코딩테스트 Lv. 2) 올바른 괄호 (0) 2022.10.27 [JS] 프로그래머스 코딩테스트 Lv. 2 ) 최솟값 만들기 (0) 2022.10.24 [JS] 프로그래머스 코딩테스트 Lv. 2 JadenCase 문자열 만들기 (0) 2022.10.23 [JS] 프로그래머스 코딩테스트 Lv. 1 ) 핸드폰 번호 가리기 (0) 2022.10.22 [JS] 프로그래머스 코딩테스트 Lv. 1 콜라츠 추측 (0) 2022.10.22