JavaScript, C++ 및 Python에서 문자열 반전을 위한 모범 사례
문자열을 반전시키는 방법은 수십 가지가 있는데, 가장 좋은 방법은 무엇입니까?이 반전 문자열의 가장 좋은 실천은 무엇입니까?오늘 우리는 이러한 문제들을 깊이 있게 연구하고 세 가지 유행하는 프로그래밍 언어에서 어떻게 문자열을 반전시키는지 탐색할 것이다. 그것이 바로 C++, Javascript와Python이다.
오늘 소개할 내용은 다음과 같습니다.
문자열 반전은 무엇입니까?
프로그래밍에서 문자열은 문자 시퀀스입니다.그것은 우리가 숫자가 아니라 텍스트를 나타내는 기본 데이터 형식 중의 하나이다.반전 문자열은 문자를 완전히 뒤집는 순서를 의미합니다.다시 말하면, 우리는 문자열을 뒤로 읽고 있다.
반전 문자열은 개발자에게 다양한 용도가 있지만 현실 장면에서는 흔치 않다.때때로 입력 문자열이 반전될 때 정규 표현식과 관련된 문제는 더욱 쉽게 사용되거나 해결될 수 있다.다른 경우, 문자열 반전은 문자열의 끝에 따라 검색하고 정렬할 수 있도록 합니다.
문자열 반전은 인코딩 취재에 가장 많이 쓰인다.면접관이 내장 함수를 사용하지 않은 상태에서 문자열의 반전을 테스트할 것을 기대할 수 있다.
인코딩 문제에서 다음과 같은 문제를 볼 수 있습니다.
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++와 유사하게 순환 반전 문자열을 사용할 수 있습니다.wwithera
for
또는while
회로를 사용할 수 있습니다.우선, 우리는 reversedString[]
이라는 새 그룹을 만듭니다.우리는 반복 변수 인덱스를 사용하여 목록을 순환합니다. 이 색인 목록의 길이를 초기화합니다.이 과정을 보세요.str[index-1]
의 값을 reverseString
와 연결합니다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에서 문자열을 반전시키는 최선의 방법을 알게 되었습니다.이 기능들은 반드시 당신의 면접 과정을 도울 것입니다.데이터 구조, 알고리즘 및 기타 일반적인 면접 질문(예:
즐겁게 공부하세요!
데이터 구조 및 인터뷰 계속 읽기
7 JavaScript data structures you must know
Reference
이 문제에 관하여(JavaScript, C++ 및 Python에서 문자열 반전을 위한 모범 사례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/educative/best-practices-for-reversing-a-string-in-javascript-c-python-1k16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)