(1) 내 코드 function solution(a, b) { let arr_length = a>b? a-b: b-a; let fill_data = a>b? b: a; return (Array(arr_length+1).fill(fill_data).map((value,index)=>value + index).reduce((a,c)=>a+c,0)); } 1.배열 길이 생성 a>b? a-b: b-a; (음수 안나오도록 큰 수- 작은수) 2.배열 값으로 채우기 : 작은수의 값으로 채우기 [3,3,3] 3.map을 사용해서 값+인덱스 = 값 하나씩 증가 4.reduce를 활용해서 값 더하기 (2) 다른 사람 풀이 Math.min(a,b)=최소값 Math.max(a,b)=최대값 for(let i = 최소값 ; i
(1) 내코드 function solution(x) { let sum = (x+'').split('').map((value)=>Number(value)).reduce((a,c)=>a+c,0); return (x%sum === 0) ? true : false; } (자릿수의 합으로 정수 x가 나눠지도록 해야함) 1. x의 자릿수의 합 : 정수x -> 문자열-> 배열 2. x% x의 자릿수의 합 === 0 ? true : false; (x+'').split('') // [ '1', '0' ] (x+'').split('').map((value)=>Number(value)) //[ 1, 0 ] reduce((a,c)=>a+c,0); // 값 더하기 => 1 끝.
(1) 내 코드 function solution(n) { return(+(n+'').split('').map((x)=>Number(x)).sort((a,b)=>b-a).join('')) } ▶ input : 정수 n / output : 내림차순된 정수 n ▶ 정수를 문자열로 변경 후 배열 변환 (n+'').split('') > 숫자로 구성된 배열로 변환 map((x)=>Number(x)) > 내림차순 정렬 sort((a,b)=>b-a) > 문자열로 변환 join('') > 정수로 변환 : 맨 앞에 + (2) 다른사람 풀이 ▶ 나는 내림차순을 sort((a,b)=>b-a) 을 사용했었는데 reverse()를 사용하는 사람도 있었다. 끝.
(1) 내 코드 function solution(s) { let arr= s.split(''); return (arr[0] === '+' ||arr[0] === '-' ) ? parseInt(s) : +s; } ▶ 배열로 만들어서 첫번째 인덱스 '+' '-' 문자열이 들어가면 parseInt(s)로 변환 ▶ 숫자만 들어올 경우 +로 숫자로 형변환 (2) 다른사람 풀이 function strToInt(str){ return +str; } // 아래는 테스트로 출력해 보기 위한 코드입니다. console.log(strToInt("-1234")); function solution(s) { return +s; } ▶ 나의 경우, case를 나눠서 생각했었는데 애초에 나눌 필요가 없었음 [개념] 산술연산자 : +..
(1) 내 코드 function solution(n) { return(n.toString().split('').map((x)=>Number(x)).reverse()) } ▶ input : n = 12345 / output : [5,4,3,2,1] ▶ 자연수 n을 문자로 변경후 배열 > map을 사용해서 숫자배열로 변경 > 거꾸로 reverse 사용 (2) 풀이 후 생각 ▶ Number와 parseInt의 차이 Number : 문자열 전체가 숫자일때 소수점까지 숫자타입으로 가져옴 parseInt : 문자열로 된 부분에서 숫자만 뽑아서 변환 끝.