String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환) 예를 들어, str = "abcabcabc" return 은 3 => 'abc' 가 제일 길기 때문 str = "aaaaa" return 은 1 => 'a' 가 제일 길기 때문 str = "sttrg" return 은 3 => 'trg' 가 제일 길기 때문
const getLengthOfStr = str => {
let arr = []; // filter 메서드 대단하다, includes 메서드
str.split('').filter(word => {
//console.log(word);
if(arr.length === 0){
arr.push(word)
//console.log()
}else if(arr.includes(word)){
}
})
}
이런식으로 계속 접근하면 메소드를 달리 해볼까 고민하다가 결국에는 해결을 하지 못했다.🥲
그 후 계속 고민하다가 다음날 다른 분들의 풀이를 참고를 했는데 그중 재상님의 솔루션을 소개하고자 한다.
function getLengthOfStr(s){
let strArr = [];
let strArr2 = [];
for(let i = 0; i < s.length; i++){
let ss = s.slice(i, i+1);
for(let j = 0; j<strArr.length; j++){
if(ss === strArr[j]){
if(strArr2.length < strArr.length){
strArr2 = strArr.slice();
}
strArr = strArr.slice();
break;
}
}
strArr.push(ss)
}
return Math.max(strArr.elngth, strArr2.length;)
}
사실 아직 완벽하게 나만의 코드로 작성을 못해 리팩토링한 내 코드를 적지는 않았다. 현재로서는 재상님의 친절한 설명으로 따라치기에 불과해서..다시 하나하나 구현해야 할 기능을 나눠서 작성해보는 시간을 갖도록 해야겠다.
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
num: 숫자 return: true or false (뒤집은 모양이 num와 똑같은지 여부)예를 들어, num = 123 return false => 뒤집은 모양이 321 이기 때문 num = 1221 return true => 뒤집은 모양이 1221 이기 때문 num = -121 return false => 뒤집은 모양이 121- 이기 때문 num = 10 return false => 뒤집은 모양이 01 이기 때문
const sameReverse = num => {
let numToString = num.toString();
let reverseToString = numToString.split('').reverse().join('');
if(numToString === reverseToString){
return true;
}else {
return false;
}
}
.toString()
로 문자열로 -> .split('')
으로 배열로arrayToString
: 배열로 바꾸는 변수를 미리 선언numToArray
: 배열을 다시 문자열로 by.join('')
reverseToString
: 배열을 뒤집은 것을 문자열로 by.join('')
,reverse()
true
, 다르면 false
지수님 솔루션👀
let a = num.toString().split('').reverse().join('');
let result = (num.toString() === a ? true : false);
return result;
종민님 솔루션👀
return num.toString() === num.toString().split('').reverse().join('')
다시 정리한 솔루션👏
let numToString = num.toString();
let reverseToString = numToString.split('').reverse().join('');
return numToString === reverseToString;
배운점
삼항연산자
를 사용하는 습관을 들여야겠다.삼항연산자
를 사용해야겠다.sexy🔥
라는 것인가..