FrontEnd/프로그래머스
[JS] 숨어있는 숫자의 덧셈(1)
reduce 함수를 활용해서 숫자인 경우에만 더해주면 된다. 숫자를 판별하기 위해서는 isNaN 함수를 사용하면 된다. isNaN()은 ()안의 값이 숫자가 아닌경우에 참, 숫자면 거짓을 내보내는데 String형식이어도 그 안의 값이 숫자면 숫자로 인식한다. function solution(my_string) { const answer = [...my_string].reduce((acc,cur) => isNaN(cur) ? acc : acc+ parseInt(cur) ,0) return answer; }
[JS] 제곱수 판별하기
자바스크립트의 pow 함수를 이용하면 제곱이나 루트를 씌울 수 있다. 따라서 해당 함수를 활용하여 루트를 씌운 후 나온 값이 정수인지 아닌지 판별하면 된다. function solution(n) { var answer = Number.isInteger(Math.pow(n,0.5)) ? 1 : 2; console.log(Math.pow(n,0.5)) return answer; }
[JS] 문자열안에 문자열
str2의 길이가 3개라면 str1의 문자를 앞에서부터 3칸자르고 비교하고 한칸넘긴후에 또 3칸짜르고 비교하면 된다. abcdefg 와 abc를 비교한다면 abc vs abc bcd vs abc cde vs abc def vs abc efg vs abc 이렇게 비교하게 한 후, 만약 비교를 하다가 같은 문자열이 나오면 종료하면 된다. function solution(str1, str2) { var answer = 0; const len2 = str2.length let cnt = 2 for (let i=0 ; i
[JS] 외계행성의 나이
https://school.programmers.co.kr/learn/courses/30/lessons/120834 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열 'abcdefghij'를 만들어 준 후, 해당 인덱스값이 숫자인것을 활용하여 값을 바꾸어 주었다. function solution(age) { const alpha = 'abcdefghij' let answer = [ ...age.toString()].reduce((acc,cur)=> acc + alpha[Number(cur)] ,"") return answer; }
[JS] 자릿수 더하기
https://school.programmers.co.kr/learn/courses/30/lessons/120906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정수로 들어온 n => 문자열 => 배열 로 바꾼후 reduce를 통하여 값들을 다 더해주었다. function solution(n) { var answer = [...n.toString()].reduce((acc,cur) => acc + Number(cur),0) return answer; }
[JS] 순서쌍의 개수
https://school.programmers.co.kr/learn/courses/30/lessons/120836 1~n까지의 수가 차례대로 들어간 배열을 한 개 만든 후에 reduce를 활용해 순서쌍이 되는지 안되는지 판별하였다. function solution(n) { var answer = [...Array(n).fill().map((v,i) => i+1)].reduce((acc,cur) => n%cur ? acc : acc+1,0) return answer; }