// reverse('apple') === 'leppa'
// reverse('hello') === 'olleh'
function reverse(str) {
const arr = str.split("");
arr.reverse();
return arr.join("");
}
function reverse(str) {
return str.split("").reverse().join("");
}
2.solution
function reverse(str){
let reversed = "";
for (let character of str) {
reversed = character + reversed;
}
return reversed;
}
3.solution
function reverse(str) {
return str.split("").reduce((rev, char) => char + rev, "");
}
reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환한다.
회문: 거꾸로 읽어도 제대로 읽는 것과 같은 문장, 낱말등을 의미
//palidrome("abba")===true
//palidrome("abcdefg")===false
1. 주어진 문자열을 reverse해야 한다.
2. reverse된 문자열과 기존의 문자열이 동일하다는 것을 표현해야 한다.
function palindrome(str) {
const reversed = str.split("").reverse().join("");
return str === reversed;
}
// reverseInt(15) === 51
// reverseInt(981) === 189
// reverseInt(500) === 5
// reverseInt(-15) === -51
// reverseInt(-90) === -9
function reverseInt(n) {
const reversed = n.toString().split("").reverse().join("");
if (n < 0) {
return parseInt(reversed) * -1;
}
return parseInt(reversed);
}
Math.sign()
을 사용하면 더 간단하게 코드를 작성할 수 있다.
function reverseInt(n) {
const reversed = n.toString().split("").reverse().join("");
return parseInt(reversed) * Math.sign(n);
}
Math.sign은 양수면 1을 반환 음수면 -1을 반환하고 0이면 0, -0이면 -0을 반환하고 NaN이면 NaN을 반환한다.
// maxChar("abcccccccd") === "c"
// maxChar("apple 1231111") === "1"
1. 객체 형태의 character map을 만들자.
string을 객체로 만들어 (문자별로 몇개씩 있는지)
function maxChar(str) {
const charMap = {};
let max = 0;// 초기값 설정
let maxChar = "";// 초기 값 string
ex)"hello"=> {H:1,e:1,l:2,0:1}
// string 반복 for of문
for (let char of str) {
if (charMap[char]) {
charMap[char]++;
} else {
charMap[char] = 1;
}
}
//객체 안 반복 for in문
for (let char in charMap) {
if (charMap[char] > max) {
max = charMap[char];
maxChar = char;
}
}
return maxChar;
}
ex)3의 배수는 fizz출력, 5의 배수는 buzz출력, 3과 5의 배수는 fizzbuzz출력
function fizzBuzz(n) {
for (let i = 1; i <= n; i++) {
//Is the number a multiple of 3 and 5?
if (i % 15 === 0) {
console.log("fizzbuzz");
} else if (i % 3 === 0) {
//Is the number a multiple of 3?
console.log("fizz");
} else if (i % 5 === 0) {
console.log("buzz");
} else {
console.log(i);
}
}
}