문자열을 뒤집는 방법


작성일 : 2017-01-12 12:29:43
조회수 : 1200


본문

직접 코딩을 하여 테스트를 하는 것 보다는, 주로 화이트보드에 적거나 면접관에게 설명하는 방식으로 많이 나오는 질문 중 하나입니다. (단, 여기서 문자열은 1byte라고 가정하겠습니다.)


string에 저장하시는 분도 있고, char* 에 저장하시는 분도 있겠지만, 여기서는 주로 많이 쓰이는 char* 형태의 배열에서 설명을 시작하겠습니다. 먼저 문자열의 길이를 얻습니다. 문자열의 길이를 얻는 함수는 strlen 입니다. (string의 경우 .length())


그 다음, 시작 지점을 0으로 잡고, 끝 지점을 길이-1로 잡은 다음, 다음과 같이 실행시켜주면 됩니다.


char c[]="abcdefg";

int i, j;

for(i=0,j=strlen(c)-1; i<j; i++,j--)

{

    char temp = c[i];

    c[i] = c[j];

    c[j] = temp;

}


함수 사용이 가능하다면 strrev, 또는 algorithm에 있는 reverse 를 사용할 수 있습니다.

문자열을 뒤집는 방법 - 알고리즘닷컴
알고리즘 문서에서는 다양한 알고리즘 개념들을 포스팅 하는 곳입니다.