(1) 내 코드 function solution(numbers) { let arr = numbers.sort(); let answer = 0; let cnt = 0; for (let i = 0; i 이 값을 answer 변수에 저장 -> cnt 증가 (2) 다른 사람 풀이 function solution(numbers) { return 45 - numbers.reduce((cur, acc) => cur + acc, 0); } ▶ 0~9까지의 합 : 45 ▶ 주어진 배열의 합 : x ▶ 45- x = 없는 숫자 더하기. 오..! 역발상!
(1) 내 코드 function solution(phone_number) { let back_number = phone_number.slice(-4); let star = ''; for (let i = 0; i < phone_number.length - 4; i++) { star += '*'; } return star + back_number; } ▶ slice로 뒤에서부터 4글자 반환 : phone_number.slice(-4); ▶ 배열의 길이에서 -4 한길이만큼 ' * ' 추가 ▶ 추가된 * 과 slice로 반환한 값 더해서 출력 (2) 다른 사람 풀이 1 function hide_numbers(s){ var result = "*".repeat(s.length - 4) + s.slice(-4); r..
(1) 내 코드 function solution(absolutes, signs) { let num_signs = []; let cal = []; signs.forEach((x) => { if (x == true) { num_signs.push(1); } else { num_signs.push(-1); } }); for (let i = 0; i a + c, 0); } ▶ num_signs 에 true면 1 / false면 -1 추가 ▶ 배열의 길이만큼 돌면서 absolutes 배열의 인덱스와num_signs배열의 같은 인덱스끼리 곱하기 ..
(1) 내 코드 function solution(arr, divisor) { let newArr =[]; arr.sort((a,b)=>a-b); arr.forEach((value)=>{ if(value %divisor === 0){ newArr.push(value); } }) if(newArr.length === 0 ) {newArr.push(-1);} return newArr; } ▶ 나누어 떨어지는 숫자 배열 1. arr 오름차순정렬 2. divisor로 나눠서 나머지가 0이면 3. 새로운 배열에 push 4. 새로운 배열 length===0 return -1 ▶ 같은 팀원분 : return newArr.push(-1)로 직접 리턴할 경우: -1이 아닌 1이 리턴되는 케이스 발생 => 배열의 push..
(1) 내코드 function solution(seoul) { return '김서방은 ' + ( seoul.indexOf('Kim')) +'에 있다' } ▶ 가장 먼저 생각난 배열 메소드는 find였음 -> 안됨 ▶ 두번째 생각난 배열 메소드는 findIndex였음 -> 안됨 ==> find / findIndex는 함수반환임!! 그래서 find ( ()=>{} ) 이렇게 작성해야하는 경우. ▶ indexOf로 풀면 끝.
(1) 내 코드 function solution(num) { let count = 0; if (num === 1) return 0; while (true) { if (num % 2 === 0) { num = num / 2; count++; } else { num = num * 3 + 1; count++; } if (num === 1) { break; } if (count === 500) { return -1; } } return count; } ▶ 생각하지 못한 부분 : num =1 이면 예외처리해줘야함 => return 0 반복 숫자가 짝수야? 그럼 나누기 2 (count +1) 숫자가 홀수야? 그럼 곱하기 3 +1 (count +1) : 500번 되도 못했네? -1 끝 (2) 다른사람 풀이 funct..