JavaScript, C++ 및 Python에서 문자열 반전을 위한 모범 사례

반전 문자열은 프로그래머가 가장 흔히 볼 수 있는 문제 중의 하나이다.너는 심지어 인코딩 면접에서 그것을 볼 수 있다.면접에서는 내장된 반전 함수를 포함하지 않고 모든 반전 문자열의 방법을 알고 싶어 할 수도 있다.
문자열을 반전시키는 방법은 수십 가지가 있는데, 가장 좋은 방법은 무엇입니까?이 반전 문자열의 가장 좋은 실천은 무엇입니까?오늘 우리는 이러한 문제들을 깊이 있게 연구하고 세 가지 유행하는 프로그래밍 언어에서 어떻게 문자열을 반전시키는지 탐색할 것이다. 그것이 바로 C++, Javascript와Python이다.
오늘 소개할 내용은 다음과 같습니다.
  • What is string reversal?
  • Reverse a string in JavaScript
  • Reverse a string in C++
  • Reverse a string in Python
  • What to learn next
  • 문자열 반전은 무엇입니까?


    프로그래밍에서 문자열은 문자 시퀀스입니다.그것은 우리가 숫자가 아니라 텍스트를 나타내는 기본 데이터 형식 중의 하나이다.반전 문자열은 문자를 완전히 뒤집는 순서를 의미합니다.다시 말하면, 우리는 문자열을 뒤로 읽고 있다.

    반전 문자열은 개발자에게 다양한 용도가 있지만 현실 장면에서는 흔치 않다.때때로 입력 문자열이 반전될 때 정규 표현식과 관련된 문제는 더욱 쉽게 사용되거나 해결될 수 있다.다른 경우, 문자열 반전은 문자열의 끝에 따라 검색하고 정렬할 수 있도록 합니다.
    문자열 반전은 인코딩 취재에 가장 많이 쓰인다.면접관이 내장 함수를 사용하지 않은 상태에서 문자열의 반전을 테스트할 것을 기대할 수 있다.
    인코딩 문제에서 다음과 같은 문제를 볼 수 있습니다.

    Reverse the string.

    You may need to turn the string into an array.

    Your result must be a string.


    문자열을 어떻게 반전합니까?


    모든 프로그래밍 언어에서, 문자열을 반전시킬 수 있는 많은 방법이 있다.당신이 선택한 방법은 당신이 작성하고 있는 프로그램의 요구에 달려 있습니다.일부 언어는 문자열 반전에 사용되는 내장 함수나 방법을 가지고 있지만, 그것에 의존해서는 안 된다.몇 십 가지 방법이 있는데 그 중 일부는 다른 방법보다 더 효과적이다.
  • 슬라이스 방법
  • 순환 방법
  • 연결 방법
  • 역방향 방법
  • 새 문자열 만들기
  • 이상
  • 우리는 이 모든 방법을 상세하게 소개하고 문자열 반전의 가장 좋은 실천을 탐색할 것이다.시작합시다!

    JavaScript에서 문자열 반전


    JavaScript에서 문자열 반전은 .split(), .reverse(), .join() 세 단계로 이루어집니다.당신은 다음 공식으로 그것을 기억할 수 있습니다.
    .s.r.j("")
    
    이 공식으로 문자열 "Hello!" 을 반전시킵니다.이것은 이 과정의 가시화 표시이다.

    분열


    자바스크립트에서 split() 방법은 문자열을 하위 문자열 그룹으로 나누어 새 그룹으로 되돌려줍니다.원본 배열은 변경되지 않습니다.
    var word = "Hello!";
    
    var splitWord = word.split("");
    
    우리는 현재 다음과 같은 독립된 문자 그룹을 만들었다.
    ['H', 'e', 'l', 'l', 'o', '!']
    

    뒤바뀌다


    이제 우리는 배역이 생겼다. 우리는 배역을 반전시키고 싶다.우리는 reverse() 방법을 사용하여 하나의 수조를 제자리로 반전시킬 수 있다.
    var reverseWord = splitWord.reverse();
    
    위의 코드는 다음과 같은 출력을 제공합니다.
    ['!', 'o', 'l', 'l', 'e', 'h']
    
    그래서 현재 우리의 문자는 상반되지만, 그것은 더 이상 문자열이 아니다.

    참가하다


    마지막 단계는 이 문자들을 다시 연결하여 하나의 역방향 문자열을 만드는 것이다.우리는 join() 방법을 사용할 수 있다. 이 방법은 수조의 모든 요소를 하나의 문자열로 합칠 수 있다.
    joinedWords = reverseWord.join("")
    
    최종 출력:
    !olleH
    
    모든 방법을 한 줄에 넣을 수 있습니다.
    var word = "Hello";
    var reverseWord = word.split("").reverse().join("");
    console.log(reverseWord);
    

    If you want to try it out yourself, check out my original publication, which has a built-in code widget.



    C에서 문자열 반전 ++


    C++에서 반전 문자열은 문자를 뒤로 읽을 수 있도록 뒤집는 순서를 의미합니다.C++에서는 여러 가지 구현을 사용하여 문자열을 반전할 수 있습니다.네 가지 가장 좋은 방법을 봅시다.

    1. 회로 사용


    함수의 main체에서 순환을 만들어서 문자열을 반전시킬 수 있습니다.순환체에서는 내장 swap 함수를 사용해야 하며, 이 함수는 원소의 위치를 변경합니다.
    #include <iostream>
    using namespace std;
    
    int main() {
    
      string greeting = "Hello!";
      int len = greeting.length();
      int n=len-1;
      for(int i=0;i<(len/2);i++){
        swap(greeting[i],greeting[n]);
        n = n-1;
    
      }
      cout<<greeting<<endl;
    }
    
    내장 함수를 사용할 수 없는 경우가 있을 수 있으므로 코드를 약간 수정해야 합니다.
    #include <iostream>
    using namespace std;
    
    int main() {
    
      string greeting = "Hello!";
      int len = greeting.length();
      int n=len-1;
      for(int i=0;i<(len/2);i++){
    
        char temp = greeting[i];
        greeting[i] = greeting[n];
        greeting[n] = temp;
        n = n-1;
    
      }
      cout<<greeting<<endl;
    }
    

    2. 내부 반전 기능 사용


    C++에는 반전 문자열에 대한 내장 함수가 있습니다.사용할 수 있다면 쉽게 사용하시기 바랍니다.이 함수는 두 개의 입력이 있습니다.
  • 문자열로 시작하는 교체기
  • 문자열의 교체기 끝
  • #include <iostream>
    //The library below must be included for the reverse function to work
    #include<bits/stdc++.h> 
    using namespace std;
    
    int main() {
    
      string greeting = "Hello!";
      //Note that it takes the iterators to the start and end of the string as arguments
      reverse(greeting.begin(),greeting.end());
      cout<<greeting<<endl;
    }
    

    계속 공부하다.

    Learn data structures and algorithms for coding interviews without scrubbing through videos or documentation. Educative's text-based courses are easy to skim and feature live coding environments, making learning quick and efficient.

    Data Structures for Coding Interviews in Python

    Also available in C++ and JavaScript


    3. 자신의 기능 구축


    만약 우리가 어떠한 내장 함수를 사용할 수 없다면, 우리는 문자열을 반전시키기 위해 자신의 함수를 작성할 수 있다.이 함수는 귀속을 사용합니다.귀속은 같은 함수 내에서 함수를 호출하는 것을 가리킨다.예를 하나 보십시오.
    #include <iostream>
    using namespace std;
    
    void reverse_String(string& greet, int n,int i){
    
      if(n<=i){return;}
    
      swap(greet[i],greet[n]);
      reverse_String(greet,n-1,i+1);
    
    }
    
    int main() {
    
      string greeting = "Hello";
      cout<<"String before reversal: "<<greeting<<endl;
      reverse_String(greeting,greeting.length()-1,0);
      cout<<"String after reversal: "<<greeting<<endl;
    
    }
    

    4. 새 문자열 만들기


    C++에서 내장 함수 없이 문자열을 반전시키는 마지막 방법은 새 문자열을 만드는 것입니다.우리는 문자열을 뒤로 순환시키고 push_back 방법으로 그 요소를 같은 크기의 새 문자열에 저장할 것이다.
    #include <iostream>
    using namespace std;
    
    int main() {
    
      string greeting = "Hello!";
    
      string new_greeting;
    
      for(int n = greeting.length()-1; n >= 0; n--){
        new_greeting.push_back(greeting[n]);
      }
      cout<<"Original string: "<< greeting << endl;
      cout<<"New reversed string: "<< new_greeting << endl;
    
    }
    

    If you want to try these out yourself, check out my original publication, which has a built-in code widget.



    Python에서 문자열 반전


    Python에서 문자열은 순차적인 문자 시퀀스입니다.C++와 달리 Python에는 반전 문자열에 대한 내장 방법이 없습니다.다음 세 가지 방법은 Python에서 문자열을 반전시키는 가장 좋은 실천이다.

    1. 슬라이스 방법


    슬라이스를 사용하여 문자열을 반전할 수 있습니다.slice() 함수는 일련의 문자를 슬라이스하는 방법을 지정하는 데 사용되는 슬라이스 객체를 반환합니다. 슬라이스의 시작과 끝 위치를 지정할 수 있습니다.
    문자열 길이에서 시작하여 색인 0에서 끝나는 슬라이스를 만들어야 합니다.
    stringname[stringlength::-1]
    
    또는 문자열의 길이를 지정하지 않은 상태에서 작성할 수 있습니다.
    stringname[::-1]
    
    슬라이스 문장에 대해 우리는 문자열 길이부터 시작하여 위치 0에서 끝내고 단계 1로 이동합니다. (이것은 한 걸음 뒤로 물러나는 것을 의미합니다.)
    str="Hello!" # initial string
    stringlength=len(str) # calculate length of the list
    slicedString=str[stringlength::-1] # slicing 
    print (slicedString) # print the reversed string
    

    2. 회로법


    C++와 유사하게 순환 반전 문자열을 사용할 수 있습니다.wwitherafor 또는while 회로를 사용할 수 있습니다.우선, 우리는 reversedString[] 이라는 새 그룹을 만듭니다.우리는 반복 변수 인덱스를 사용하여 목록을 순환합니다. 이 색인 목록의 길이를 초기화합니다.이 과정을 보세요.
  • 번갈아 가며 str[index-1] 의 값을 reverseString 와 연결합니다
  • 인덱스 축소
  • 인덱스가 0보다 작을 때까지 계속 교체
  • str = "Hello!" # initial string
    reversedString=[]
    index = len(str) # calculate length of string and save in index
    while index > 0: 
        reversedString += str[ index - 1 ] # save the value of str[index-1] in reverseString
        index = index - 1 # decrement index
    print(reversedString) # reversed string
    

    3. 연결 방법


    이 기술은 Python의 교체기 프로토콜을 이용했다.내장 reversed() 함수의 역방향 반전 문자열을 사용합니다. 이 함수는 문자열의 요소를 반대 순서로 순환한 다음 .join() 를 사용하여 반전 문자열로 통합합니다!
    이 방법의 구문은 다음과 같습니다.
    str="Hello!" 
    reversedstring=''.join(reversed(str))
    
    전체 Python 코드에서 확인하십시오.
    str = 'Hello!' #initial string
    reversed=''.join(reversed(str)) # .join() method merges all of the characters resulting from the reversed iteration into a new string
    print(reversed) #print the reversed string
    
    출력:!올리

    If you want to try these out yourself, check out my original publication, which has a built-in code widget.


    뭐 공부 해요?


    축하이제 JavaScript, C++, Python에서 문자열을 반전시키는 최선의 방법을 알게 되었습니다.이 기능들은 반드시 당신의 면접 과정을 도울 것입니다.데이터 구조, 알고리즘 및 기타 일반적인 면접 질문(예:
  • 그룹에서 짝수 정수 제거
  • 단일 체인 테이블에서 검색
  • 목록에서 값 삭제
  • 체인 테이블 끝에 새 객체 삽입
  • 체인 테이블의 순환 검사
  • 이상
  • Educative'sData Structures for Coding Interviews는 면접을 준비하기에 가장 좋은 장소입니다.가장 유행하는 프로그래밍 언어의 과정이 생기면 당신은 반드시 실제 문제를 해결함으로써 데이터 구조를 신속하게 파악할 것이다.오늘부터!
    즐겁게 공부하세요!

    데이터 구조 및 인터뷰 계속 읽기


  • 7 JavaScript data structures you must know
  • Data Structures 101: implement hash tables in JavaScript
  • Ace the top 15 Java algorithm questions for coding interviews
  • 좋은 웹페이지 즐겨찾기