쉽게 생각했는데 잘 안돼서 그냥 for문~
//내꺼
function solution(n) {
var answer = 0;
n = String(n).split('')
for(let i=0; i<n.length; i++) {
answer += parseInt(n[i])
}
return answer;
}
하지만 그냥 reduce를 이용하면 됐었다..
//01
function solution(n) {
return n
.toString()
.split("")
.reduce((acc, cur) => acc + Number(cur), 0);
}
//내꺼
function solution(str1, str2) {
var answer = 0;
answer = str1.includes(str2) ? 1 : 2
return answer;
}
//01
function solution(str1, str2) {
return str1.split(str2).length > 1 ? 1 : 2
}
//02
function solution(str1, str2) {
return str1.indexOf(str2) === -1 ? 2 : 1;
}
//03
function solution(str1, str2) {
return str1.search(str2) !== -1 ? 1 : 2
}
//04
function solution(str1, str2) {
var answer = 0;
return str1.match(str2) ? 1 : 2;
}
//내꺼
function solution(my_string) {
var answer = 0;
answer = [...my_string].filter(el=>Number(el)).reduce((acc, cur) => acc += Number(cur), 0)
return answer;
}
음 아는 걸 총동원해봤는데 만족!
다만 reduce만 사용해서 그 안에서 넘버를 걸러내서 하는게 더 깔끔한 듯 (아래처럼)
//01
function solution(my_string) {
return [...my_string].reduce((acc,cur)=>Number(cur) ? +acc + +cur : acc, 0)
}
//내꺼
function solution(n) {
var answer = 0;
answer = Math.sqrt(n)%1 == 0 ? 1 : 2
return answer;
}
제곱근 구하는 방법을 까먹어서.. Math.sqrt까지는 검색해서했다ㅋ
%2 == 0 ? 1 : 2 로 했다가.. 제출통과가 안돼서
%1 == 0 ? 1 : 2 로 바꿨더니 됐다.. 뒤에 소수점을 판별해야해서 그런가보다.
소수점 판별하는 method 없나 하다가 다른사람 답에서 isInteger 발견..
아래가 내가 원하던 코드인 듯 하다.
//01
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}
아니 뭐지 정규표현식 해도 해도 안되길래
완전 지저분하게 풀었는데 ㅠㅠ 어디서 잘못됐었던거지
//내꺼
function solution(my_string) {
let answer = '';
let m = ['a','e','i','o','u'];
answer = [...my_string].filter(el=>!el.includes('i') && !el.includes('e') && !el.includes('a') && !el.includes('o') && !el.includes('u')).join('')
return answer;
}
아래처럼 했었는데 계속 안돼서 못했는디 ㅜㅜ 뭔가 하나를 잘못썼나 ㅜㅜ
//01
function solution(my_string) {
return my_string.replace(/[aeiou]/g, '');
}