C++ Realization - 바킹독 (2)

김정욱·2021년 1월 21일
0

Algorithm - 내용(C++)

목록 보기
2/9

[ 1. 배열의 값 초기화 ]

  • 배열을 특정 값으로 초기화 시킬 때 -> fill함수 이용(algorithm 헤더)
    : 3가지 방법이 있으나 fill이 가장 실수 여지가 적고 편하다!

1) 1차원 배열

    int a[21];
    fill(a,a+21,0);

2) 2차원 배열

    int b[21][31];
    for(int i=0; i<21;i++)
       fill(b[i],b[i]+31,0);

[ 2. stl 순회 ] - Queue는 순회 불가능!

1) vector 크기 이용

    for(int i=0; i < v.size(); i++)
        cout << v.at(i); // v[i]도 가능

2) iterator 이용

    for(auto i=v.begin(); i != v.end(); i++)
        cout << *i ;

3) range-based for loop (C++11)
: c++ 11 이상을 지원해야 한다.
  그리고, 값을 읽을 때에는 적합하지만 조작은 안되기에 참고!

    for(int e : v)
        cout << e ; 

    /* 내부에서 값을 바꿔야 할 때! */
    for(int& e : v) // 참조자로 접근하면 원본이 바뀐다.
        cout << e ;

[ 3. ASCII CODE ]

  • 자주 쓰이는 소 / 대문자 알파벳은 기억하는 것이 좋다.
    1) 소문자 ( 97 ~ 122 )
    2) 대문자 ( 65 ~ 90 )
/* 대문자는 정수 65 ~ 90까지 총 26개 */
int num = 90;
cout << (char)num; //  Z

int num = 65;
cout << (char)num; //  A

/* 소문자는 정수 97 ~ 122까지 총 26개 */
int num = 122;
cout << (char)num; //  z

int num = 97;
cout << (char)num; //  a
  • 숫자로 된 문자를 정수로 바꾸는 방법!
    : char - '0'

[ 4. cin과 getline 사용시 ]

: 표준 입력을 받는 cin과, 공백을 포함한 문자열을 받는 getline()함께 사용시
 반드시 cin.ignore()을 사용해주어야 입력 버퍼를 비워서 정상적인 로직이 된다!

  ...
  cin >> N;
  cin.ignore();
  ...
  getline(cin, s);
profile
Developer & PhotoGrapher

0개의 댓글