function solution(numbers) {
const num = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
//변수명을 헷갈리게 지어서 numbers.length까지 했었다.. 변수명도 잘 지어야겠다.. 😂
for(let i = 0; i < num.length; i++){
//split을 num[i] 기준으로 자르고 잘린곳을 i로 메꿔주는 방식(?)이다.
numbers = numbers.split(num[i]).join(i)
}
//split은 string이라 마지막에 number로 형 변환을 해줬다.
return Number(numbers)
}
function solution(numbers) {
let numStr = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" ];
numStr.forEach((str, idx) => {
numbers = numbers.replaceAll(str, idx);
});
return Number(numbers);
}
나는 이 문제가 싫어요. 한참을 헤매다 답을 봤는데 split으로 나누어줄 수 있었던 것. split은 문자열에 쓰이고 구분자 기준으로 원본 문자열에서 구분자 삭제 후 나머지 반환한다. forEach는 매개변수 3개까지 입력 가능한데 forEach(current value, index, Array) 라는 것 forEach 내 Array는 forEach 매서드 호출한 배열
function solution(my_string, num1, num2) {
var answer = my_string.split('')
var temp = answer[num1]
answer[num1] = answer[num2]
answer[num2] = temp
return answer.join('')
}
내 답은 temp에 넣어서 할당, 할당 이렇게 했지만 맨 처음부터 구조분해 할당으로
[my_string[num1], my_string[num2]] = [my_string[num2], my_string[num1]];
접근 가능
function solution(s) {
var answer = '';
var s = s.split('').sort()
s.map(x => (s.indexOf(x) === s.lastIndexOf(x)) ? answer += x : answer += '' )
return answer
}
도저히 못 풀겠어서 답을 본 문제. indexOf, lastIndexOf 와 같이 인덱스로 찾고 값을 내는게 익숙하지 않다. 내일 다시 indexOf로 풀어보기. --> 맨앞에서 시작한 인덱스 숫자와 맨 뒤에서 시작한 인덱스 숫자 값이 같으면 한 번만 등장했다는 뜻이니 그거만 담기.
function solution(n) {
var answer = [];
for(i=1; i <= n; i++){
(n % i === 0) ? answer.push(i) : ''
}
return answer;
}
배열에 넣는 것은 push / += 는 숫자 또는 문자열에 더해주는 1+1 = 2, 'a' + 'b' = 'ab'