Algorithm

[Algorithm] C++ 대문자를 소문자로 바꾸기(feat. transform() 사용하기)

용성군 2022. 1. 28. 14:22
728x90
반응형

C++에 다양한 테크닉이 존재한다는걸 느낀다. 내가알기로 python에는 .lowercase라는 함수가 있어서 사용하면 소문자로 바꿔주는 것으로 알고있다.  c++에는 없어 검색해보았고 이참에 정리해보기로 하였다. 사실 알면 간단하다.

 

Reference

template <class InputIt, class OutputIt, class UnaryOperation>
OutputIt transform(InputIt first1, InputIt last1, OutputIt d_first, UnaryOperation unary_op);

first1부터 last1까지의 범위까지 unary_op 를 수행한다. 그 수행한 결과를 d_first 부터 기록한다.

 

예제

따라서 대문자로 바꾸거나 소문자로 바꾸기 위해서는 다음과 같이 사용한다.

 

  • 대문자 to 소문자
void lowercase(string s)
{
    transform(s.begin(), s.end(), s.begin(), ::tolower);
    
//    string s가 HELLO라면 tranform을 수행한 후 hello로 변경.
}
  • 소문자 to 대문자
void uppercase(string s)
{
    transform(s.begin(), s.end(), s.begin(), ::toupper);
    
//    string s가 hello라면 tranform을 수행한 후 HELLO로 변경.
}
728x90
반응형