5월 17일

RushBsite·2021년 5월 17일
0

TIL

목록 보기
4/18
post-thumbnail

배열 값 변경하기


replace, replace_if 활용

replace 함수는 <algorithm> 에 포함되어 있다. 보통 for 문으로 반복문을 돌면서 if 문으로 조건에 맞으면 변경하는 작업을 해도 되지만,

replace 함수를 쓰면 한줄로 표현이 가능하다.

  • replace

    replace(first, last, const T& old, const T& new)
    #firstlast는 원소 범위 iterator
    #old는 치환 대상, new는 치환할 새로운 값

#include <algorithm>
#include <vector>
using namespace std;

int main() {
 vector<int> v = {1, 2, 2, 3, 3, 3};
 replace(v.begin(),v.end(), 2, 4); // v에 있는 모든 '2'를 '4'로 변경
 return 0;
}
  • replace_if

    replace_if(first,last,Pred p, cont T& new)
    #p는 치환할 원소를 전달할시에 true를 반환하는 함수 (bool로 변환 가능한 참 거짓 값)
    #p는 전달받은 원소를 변경하면 안되므로 const& 나 값 형태로 받을 것

#include <algorithm>
#include <vector>
using namespace std;

int main() {
 vector<int> v = {1, 2, 2, 3, 3, 3};
 replace_if(v.begin(),v.end(),[](const int& i){return i <=2;} , 4); 
 // v에 있는 `2'보다 작거나 같은 수를 '4'로 변경
 return 0;
profile
게임 기획/개발 지망생

0개의 댓글