본문 바로가기

전체 글71

[JavaScript] 프로그래머스 - 하샤드 수 /* 문제 : 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하라 자료 : 자연수 x 조건 : 조건에 일치하면 true, 아니면 false를 반환 계획 : 자릿수의 합을 더한 값이 원래값으로 나누어떨어지는지 확인 반복문으로 각자리수를 모두 한뒤 x % sum === 0이면 true 반성 : 문자열로 변환해서 풀면 시간이 오래걸리는데 숫자로 푸는 거는 익숙하지 않다. 이 풀이를 이용해서 자연수 뒤집어 배열만들기를 다시 한 번 풀어봐야겠다. Math.floor(): 소수점 이하를 버림한다 Math.ceil(): 소수점 이하를 올림한다. Math.round(): 소수점 이하를 반올림한다. */ const sum = (number) => { if (number < 10) { return number; } .. 2022. 9. 20.
[JavaScript] 프로그래머스 - 문자열 내 p와 y의 개수 /* 문제 : 대문자와 소문자가 섞여있는 문자열 s . s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성 자료 : 알파벳으로만 이루어진 문자열 s 조건 : 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴 수를 비교할 때 대문자와 소문자는 구별하지 않습니다 계획 : 정규식을 이용해 p와 y를 몇개 가지고 있는지 확인 비교해서 true, false 리턴함 반성 : 정규표현식을 사용해서 푼 문제가 10문제가 넘어가는 거 같은데 또 정규식을 바로 사용하지못하고 검색해서 썼다. */ const solution = (str) => { let.. 2022. 9. 20.
[JavaScript] 프로그래머스 - 자연수 뒤집어 배열로 만들기 /* 문제 : 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 만들어라 자료 : 자연수 n 계획 : 배열의 순서를 반전 reverse() 반복문 문자열로 바꾸는 법 1. String(n) 2. n.toString() 3. (n+"") 숫자로 바꾸는 법 1. map((v) => parseInt(v)); 2. map(v => +v); */ const solution = (n) => { const numbers = String(n).split(''); let reverse = []; for (let i = numbers.length - 1; i >= 0; i--) { reverse.push(Number(numbers[i])); } return reverse; }; // for문대신 map을 사용.. 2022. 9. 20.
[JavaScript] 프로그래머스 - 정수 제곱근 판별 /* 문제 : n이 어떤 양의 정수 x의 제곱이면 x+1의 제곱, 아니면 -1을 리턴하라 자료 : 정수 n (양의 정수 x의 제곱) 조건 : 제곱이 아니면 -1 반환 계획 : 제곱근을 구해주는 Math.sqrt(number); 로 제곱근을 구해줌 Math.sqrt(144) = 12; 제곱근이 정수인지 판별함 정수면 x+1 의 제곱 아니면 -1 리턴 */ const solution = (n) => { const num = Math.sqrt(n); if (num % 1 === 0) return (num + 1) * (num + 1); return -1; }; 제곱근을 구해주는 Math.sqrt(number) 정수인지 판별 n % 1 === 0 const solution = (n) => { const num .. 2022. 9. 20.