카테고리 없음

[C++] 정수를 뒤집고 출력하는 코딩 정리

기술1 2024. 3. 9. 15:48
반응형

 

학교 과제를 하던 중 이런 문제를 받았습니다. 정수를 뒤집고 출력하는 것인데 문자열을 변환하고 정수 변환하는 string 타입을 to_sring과 atoi함수를 사용하는 방식입니다. 

#include <iostream>
#include <string>

using namespace std;


int rev(int n)
{
	string s = to_string(n);
	reverse(s.begin(), s.end());
	return atoi(s.c_str());
}

int main()
{
	int n;

	cin >> n;
	
	cout << rev(n) << endl;

	return 0;
}

 

 

string s = to_string(n);

먼저 이 부분은 입력된 정수 n을 문자열로 변환시켜주는 함수입니다. to_string(n)은 입력된 정수를 문자열로 변환해 s에 저장한다고 보면 됩니다. 

 

reverse(s.begin(), s.end());

이것은 s의 문자열을 뒤집습니다. begin()과 end()함수는 문자열의 시작과 끝을 나타내는 함수입니다. 이것을 통해서 s의 begin과 끝점 두 개를 나타낸 후 reverse를 통해 뒤집는 것입니다. 

 

return atoi(s.c_str());

뒤집은 문자의 열을 정수로 반환하는 것인데요. c_str()함수는 문자열을 c 스타일 문자열로 반환시켜주는 것입니다. atoi()함수는 c 스타일의 문자열을 정수로 변환시켜주는 함수입니다.

 

결론적으로 해당 문자열이 다시 int n이라는 정수 형태로 바뀌게 되는 것입니다. aoi() 함수는 문자열을 정수로 변환시켜준다는 것, 알아두셔야 합니다. 

 

그리고 main()함수에서 rev()함수를 불러와서 대입해주는 것으로 끝납니다. c++에서는 이렇게 하는 방식이 가장 직관적이고 단순한 방식이기 때문에 c++로 코딩을 하실 때는 이렇게 해주시면 됩니다. 

 

 

반응형