알고리즘 문제 5,6번
추억의 로템에서 한판하자~~~
입구 막아라 9드론 가니까 ㅋㅋㅋ
문자열을 입력받아 순서가 뒤집힌 문자열을 리턴해야 합니다.
예시
let output = firstReverse('codestates');
console.log(output); // "setatsedoc"
output = firstReverse('I love codestates');
console.log(output); // "setatsedoc evol I"
이번 문제는 메소드만 알고있다면.....최고로 쉽고
아니면 코드를 살짝 길게 적어야 하고
근데 이 메소드란 녀석을 알고 있는가?
이건 객체의 한 종류야
(형...이게 먼 🐶소리야)
ㅋㅋㅋㅋㅋ하..이거 말하면 TMT 소리 듣는데. ㅋㅋㅋ 그래도 살짝 해볼까?
이건 자바스크립트는 객체지향 언어라고들 말하지
객체는 뭔지?알지? ㅋㅋㅋ
쉽게 말해서 복잡한구현 방식을 객체로 전부 만들어 놓았어
그래서 그 명령어를 불러다가 사용하면되
그 명령어를 부르는 방법은 . 야
배열.명령어()
이건 날잡고 애기해줄께
정답코드
function firstReverse(str) {
// TODO: 여기에 코드를 작성합니다.
// 입력된 문자열을 뒤집어서 배열로 만든뒤 그걸 다시 배열 하나 하나 씩 빈문자열에 쌓는다~~ㅇㅋ?
let reverseStr = '';
let arr = str.split('').reverse();
for(let i = 0; i < arr.length; i++){
reverseStr = reverseStr + arr[i];
}
return reverseStr;
}
메소드를 완전 사용해볼께.
function firstReverse(str) {
// TODO: 여기에 코드를 작성합니다.
// 입력된 문자열을 뒤집어서 배열로 만든뒤 그걸 다시 배열 하나 하나 씩 빈문자열에 쌓는다~~ㅇㅋ?
return str.split('').reverse().join('')
}
문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다.
예시
let output1 = letterCapitalize('hello world');
console.log(output1); // "Hello World"
let output2 = letterCapitalize('javascript is sexy ');
console.log(output2); // "Javascript Is Sexy "
정답코드
function letterCapitalize(str) {
// TODO: 여기에 코드를 작성합니다.
let strArr = str.split(' ');
let result = '';
for(let i = 0; i < strArr.length; i++){
if(strArr[i].length > 0){
strArr[i] = strArr[i][0].toUpperCase() + strArr[i].slice(1);
}
}
result = strArr.join(' ')
return result;
}
두번째 문제풀이
map을 이용한 문제 풀이 ~~
function letterCapitalize(str) {
// TODO: 여기에 코드를 작성합니다.
let strArr = str.split(' ');
let result = strArr.map(el => {
if(el.length > 0)
return el[0].toUpperCase() + el.slice(1)
})
return result.join(' ')
}