본문 바로가기

언어/C++

4장4번 - 문장 거꾸로 출력하기

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	string str;
	string first;
	string last;
	cout <<" 아래에 한 줄을 입력하세요 (eixt를 입력하면 종료됩니다.) "<<endl;
	
	while(1){
		
		cout << ">>";
		getline(cin,str);
		
		if(str=="exit") break;
		int len=str.size();
		
		for(int i=0; i<len/2; i++){
			first=str.at(i);
			last=str.at(len-1-i);
			str.replace(i,1,last);
			str.replace(len-1-i,1,first);
		}	
		cout << str << endl;
	}
	
	
	
	
	return 0;
}

설명 >>

 

문자열 first, last 를 두어서 앞과 뒤를 교체해주는 변수를 ㅁ나든다 

str.replace () ==> 기존 문자열의 pos 부터 count 개 만큼, 혹은 first 부터 last 까지를 string_view 로 변환 가능한 타입 t 로 치환한다.

 

str.at() ==> Returns a reference to the character at position pos in the string.

 

배열은 0부터 시작하므로 len-1 으로 시작점을 잡는다