728x90

이걸 보고 처음 든 생각
- 반복문을 통해서 array에 있는 애들을 하나씩 비교해줘야겠다
- 차이니깐 절대값을 써야하므로 Math.abs 가 필요하다
나의 답
function solution(array, n) {
var answer = 0;
for(let k of array){
if(Math.abs(answer-n)<Math.abs(k-n)){
answer = answer;
} else if(Math.abs(answer-n)===Math.abs(k-n)) {
answer = answer > k ? k : answer
} else {
answer = k
}
}
return answer;
}
for of 구문을 통해서 array에 있는 원소들을 하나씩 뽑아내었고
절대값을 비교하여 작은 녀석을 answer에 할당한다.
처음에 풀이할 때 실수한 부분이기도 한데 제한사항 4번째에 해당하는 조건을 빼먹었었다.
절댓값이 같으면 answer이랑 k 중 작는 애를 할당하는 조건문을 추가했다.
728x90
'스터디 > 코딩테스트' 카테고리의 다른 글
javascript 코딩테스트 - 인덱스 바꾸기 (0) | 2023.02.23 |
---|---|
javascript 코딩테스트 - 영어가 싫어요 (0) | 2023.02.23 |
javascript 코딩테스트 - 대문자와 소문자 (0) | 2023.02.22 |
javascript 코딩테스트 - 암호 해독 (0) | 2023.02.22 |
javascript 코딩테스트 - 369게임 (0) | 2023.02.22 |