본문 바로가기
알고리즘

C++ 코딩테스트 끄적끄적

by 자라자 2021. 4. 20.

지속적인 업데이트 예정

 

1. <string>

#include <iostream>
#include <string>
 
using namespace std;
int main() {
  
  //선언
  string str1 = "hello world";
  cout<<str1<<endl;
 
  //인덱싱
  cout<<str1[0]<<endl;

  //슬라이싱 
  cout<<str1.substr(0,3);
 
  //맨 끝 글자
  cout<<str1.back()<<endl;
 
  //길이
  cout<<str1.size()<<endl;
  cout<<str1.length()<<endl;
 
  //리사이징: 남으면 공백, 모자라면 자름
  str1.resize(5);
  cout<<str1<<endl;
  str1.resize(10,'a');
  cout<<str1<<endl;
 
  //공백 확인
  cout<<str1.empty()<<endl;
 
 
  //compare
  string str2="dog";
  string str3="cat";
  cout<<str2.compare(str3)<<endl;
 
  // 굳이 compare를 쓰지 않아도, == !=로 비교 가능. 0 1 리턴
  
  //iterator
  string::iterator j = str1.begin();
  for(;j!=str1.end();++j){
    cout<<*j<<"+";
  }


  
}

 

2. 벡터의 사용

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
  //vector의 선언 : vector <자료형> 변수;
  vector<int> v={1,2,3};
  
  v.push_back(7);
  v.push_back(6);
  v.push_back(5);
  vector<string> s; //문자열 벡터
  s.push_back("안녕");
  
  //vector.begin()은 iterator임.
  cout<<v.size()<<endl;
  
  //원소출력
  for(int i=0; i<v.size(); i++){
    cout<<v[i]<<endl;
  }
}

  //v.end()는 마지막 데이터 다음을 가리키는 iterator이다. 

 

3. algorithm 의 sort에는 시작 포인터와 끝포인터+1을 준다.