JavaScript에서 문자열을 회전하는 방법

최근에 저는 React 개발자를 고용하고 있는 특정 회사에 지원했습니다. 이력서를 보내고 코딩 평가를 하고 합격했습니다. 그 후 나는 종이에 코드를 작성해야 하는 직접 인터뷰에 초대되었습니다.

코딩 문제는 주어진 문자열을 지정된 횟수만큼 회전시키는 선택한 프로그래밍 언어로 코드를 작성하는 것이었습니다.

처음에 나는 그런 문제를 이전에 다루지 않았기 때문에 놀랐습니다. 나는 전문가가 아니라는 것을 명심하십시오. 펜과 종이를 들고 코드를 작성하기 시작했습니다.

몇 분 동안 고군분투한 후 양수 회전에 대한 코드를 작성할 수 있었지만 음수 회전을 처리하는 코드도 필요하다는 사실을 몰랐고 시간이 다되었습니다.

어쨌든 집에 오는 길에 마음속으로 음의 회전 부분을 풀 수 있었고 혹시라도 그런 문제가 발생할 경우를 대비하여 여기에 공유하고자 합니다.

다음은 문자열을 회전하는 JS 코드입니다(왼쪽 및 오른쪽 회전 모두 처리).

const rotate = (text, n) => {
  txtArr = text.split("") 

  if(n>0){
    for(let i = 1; i<=n; i++){
      let firstel = txtArr[0]
      txtArr.shift()
      txtArr.push(firstel)
    }
  }
  else if(n<0){
    for(let i = -1; i>=n; i--){
      let lastel = txtArr[txtArr.length-1]
      txtArr.pop()
      txtArr.unshift(lastel)
    }
  }

  console.log(txtArr.join(""))
}

rotate("hello", -2)


코드 설명:



관련된 단계로 코드를 설명하겠습니다.
  • text.split() 메서드를 사용하여 텍스트를 배열로 변환합니다.
  • if 문을 사용하여 n가 긍정적인지, n>0인지 확인합니다.
  • n가 양수인 경우:
  • for 루프를 사용하여 textArr n 번 반복합니다.
  • txtArr[0]를 사용하여 배열의 첫 번째 요소를 가져옵니다.
  • txtArr.shift()를 사용하여 첫 번째 배열 요소를 제거합니다.
  • txtArr.push(firstel)를 사용하여 배열 끝에 첫 번째 배열 요소를 추가합니다.

  • 4. n가 음수인 경우:
  • for 루프를 사용하여 textArr n 번 반복합니다.
  • txtArr[txtArr.length - 1]를 사용하여 배열의 마지막 요소를 가져옵니다.
  • txtArr.pop()를 사용하여 마지막 배열 요소를 제거합니다.
  • txtArr.unshift(lastel)를 사용하여 배열의 시작 부분에 마지막 배열 요소를 추가합니다.

  • 5.n가 0이면 그대로 반환

    결론



    이것이 이 기사의 전부입니다. 당신이 한두 가지를 배우기를 바랍니다. 다음편에서 만나요 :)

    좋은 웹페이지 즐겨찾기