[SEB FE 44] 조건문, 반복문

Heechang Jeong·2023년 2월 22일
0

CODE STATES

목록 보기
8/40
post-thumbnail

✍ 복습 자료

  • 변경 전 코드
function replaceAll(str, from, to) {
  for(let i=0; i<str.length; i++) {
    if(str[i] === from) {
      str[i] = to;
    }
  }
  return str;
}



자바스크립트에서는 인덱스에 접근 및 읽기는 가능하다.
인덱스에 접근해서 값 자체를 변경할 수는 없다.
=> 자바스크립트는 원시값은 불변이어야 하기 때문!!

  • 변경 후 코드
function replaceAll(str, from, to) {
  let result = '';
  for(let i=0; i<str.length; i++) {
    if(str[i] === from) {
      result += to;
    } else {
      result += str[i];
    }
  }
  return result;
}

  • 입력은 number 타입이지만 출력은 string 타입일 때

    문자열 + 숫자 = 문자열이 된다.


🎯 코드 비교

  • 입출력 예시
let output = makeMarginalString('abc');
console.log(output); // --> 'aababc'

output = makeMarginalString('flower');
console.log(output); // --> 'fflfloflowfloweflower'

output = makeMarginalString('');
console.log(output); // --> ''

  • 첫 번째 코드
function makeMarginalString(str) {
  let result = '';
  
  for(let j=0; j<str.length-1; j++) {
    result += str[j];
    for(let i=0; i<=j; i++) {
      result += str[i];
    }
  }
  
  return result + str[str.length-1];
}

  • 두 번째 코드
function makeMarginalString(str) {
  let result = '';

  for(let j=0; j<str.length; j++) {
    for(let i=0; i<=j; i++){
      result += str[i];
    }
  }
  return result;
}


🏁 회고

같은 문제를 풀더라도 사람마다 다르게 코드를 작성했다. 또한, 한 문제를 처음 풀었을 때와 두 번째에 풀었을 때 코드를 다르게 작성한 경우도 있다.

문제를 다시 풀어보며 좀 더 간단하고 깔끔한 코드를 작성할 수 있도록 노력해야겠다. 그리고 페어프로그래밍을 통해서 코드 리뷰를 하며 다양한 방법을 익힐 수 있어서 좋았다.

0개의 댓글