2:2 로템초고수대전

야 나 개 ·2021년 10월 28일
0

주간 문제아이돌 

목록 보기
3/17

알고리즘 문제 5,6번

추억의 로템에서 한판하자~~~
입구 막아라 9드론 가니까 ㅋㅋㅋ

5번문제

문자열을 입력받아 순서가 뒤집힌 문자열을 리턴해야 합니다.

예시

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('')
}

6번문제

문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다.

예시

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(' ')
  
}
profile
야 나도 개발자 될 수 있어

0개의 댓글