본문 바로가기

자바스크립트14

[Algorithm 025] JS - 콜라츠 추측 (Level 01) 문제 출처 : 프로그래머스 prorammers - 평균 구하기 (링크) 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한사항 입력.. 2021. 11. 13.
[Algorithm 024] JS - 평균 구하기 (Level 01) 문제 출처 : 프로그래머스 prorammers - 평균 구하기 (링크) 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. A. 내가 푼 답 function solution(arr) { var answer = 0; for (let i = 0; i < arr.length; i++) { answer += arr[i]; } return answer / arr.length; } for문을 ES6의 for...of 문법으로 바꿔보기 function solution(arr) { var answer = 0; for (let value .. 2021. 11. 11.
[React]map함수 unique "key" prop 에러(Fragment에 속성 적용) Warning: Each child in a list should have a unique "key" prop. React에서 map함수를 사용하는 것에 재미가 들려 여기저기 사용해보던 중. 다음과 같은 코드에서 에러가 지속되었다. index.js:1 Warning: Each child in a list should have a unique "key" prop. {NAV_DATA.map(({ id, name, link, menu }) => { return ( this.setHoverMenu(id)}> {name} {id === hoveredMenuId && } ); })} 이리보고 저리보고 다시 봐도 나는 '각 자식 요소에 유니크한 키 값 key={id}부여하고 있었다. (고 생각했다.) ✅ map 함수.. 2021. 10. 23.
[Algorithm 008] JS - 1주차 test 다시 풀기 ✔️ 3주차에 1주차 시험문제 다시 풀어보기 - getGender 인자로 사람에 대한 정보가 담긴 객체를 받습니다. 그 중 성별을 반환하는 함수를 만들어주세요. input 예시 : { name: 'tom', age: 30, gender: 'male' } input 예시 : { name: 'tom', age: 30, gender: 'male' } // test objects let inputValue = { name: 'tom', age: 30, gender: 'male' } // 답 function getGender(person) { return person.gender } getGender(inputValue) // 'male' Dot Notation(object.key)을 이용해 value값을 구함... 2021. 9. 23.
[Algorithm 006] JS - reverse Q. reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요. 결과 예) x: 1234 return: 4321 x: -1234 return: -4321 x: 1230 return: 321 A. 우리 팀 답 const reverse = x => { let arr = x.toString().split(''); console.log(arr) if (arr[0] === '-'){ arr.shift() arr.reverse(); arr.unshift('-') }else{ arr.reverse(); } return parseInt(arr.join("")) } console.log(reverse(1234)) Array.reverse() : 배열의 순서를 반전해주는 매서드 (MDN.. 2021. 9. 14.
[Algorithm 005] JS - twoSum Q. twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면, 두 값을 더해서 '특정 수(target)'가 나오는 index를 배열에 담아 return하기 nums: 숫자 배열 target: 두 수를 더해서 나올 수 있는 합계 return: 두 수의 index를 가진 숫자 배열 # target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정 예) nums = [4, 9, 11, 14] target = 13 위의 값이 주어질 경우 nums[0] + nums[1] = 4 + 9 = 13 이므로 [0, 1]이 return 되어야 함 A. 우리 팀 답 const twoSum = (nums, target) => { const arr = [] for( i = 0 ; i < nums.length ;.. 2021. 9. 14.