[JS]_daily coding 5

seul_·2022년 5월 30일
0

Algorithm

목록 보기
4/31

코플릿 데일리코딩 5번


수도코드

  1. 결과를 담아줄 빈 문자열 선언
  2. 반복문을 돌면서 문자열의 마지막 요소부터 하나씩 새로운 배열에 담아준다.
    2-1. 문자열의 길이만큼 반복
    2-2. 카운터 변수를 문자열 길이-1로 지정하고, -1씩 줄이면서, 0번째 인덱스까지 반복한다.
    2-3. 새로운 배열에 요소를 하나씩 담아준다.
  3. 결과를 반환

코드

function firstReverse(str) {
  let newStr = '';
  for (let i = str.length-1 ; i >=0; i--) {
    newStr += str[i];
  }
  return newStr
  
}

힌트에 arr.reverse를 사용해보라고 나와있었지만, 익숙한 for문으로 먼저 풀어봤다. reverse를 사용해서도 풀어봤는데, reverse가 배열에 사용하는 메서드라는 점이 포인트였다. 이 방식을 수도코드로 작성하면 아래와 같다.

  1. 입력받은 문자열을 한글자씩 배열에 담아주고 split('')
  2. 배열의 순서를 반전한다 reverse()
  3. 순서가 반전된 배열을 문자열로 합쳐준다. join()
function firstReverse(str) {
  return str.split('').reverse().join('');
}

코드가 엄청 단순해졌다!

remind

Array.prototype.reverse()

  • 순서가 반전된 배열을 반환
  • 원본 배열을 변형해서 그 참조를 반환
profile
Connecting dots

0개의 댓글