반도체/C++

2. 백준 알고리즘에서 많이 쓰이는 C++ 기초

Clair_de_Lune 2024. 7. 4. 13:41
728x90

2. 백준 알고리즘에서 많이 쓰이는 C++ 기초

 

 

 

 

1. 입출력

  • cin과 cout: 표준 입력과 출력
    #include <iostream>
    using namespace std;
    
    int main() {
        int a;
        cin >> a; // 입력 받기
        cout << a << endl; // 출력하기
        return 0;
    }
  • scanf와 printf: 속도가 빠름
    #include <cstdio>
    
    int main() {
        int a;
        scanf("%d", &a); // 입력 받기
        printf("%d\n", a); // 출력하기
        return 0;
    }

2. 반복문

  • for 반복문: 정해진 횟수만큼 반복
    for (int i = 0; i < 10; ++i) {
        cout << i << " ";
    }
  • while 반복문: 조건이 참인 동안 반복
    int i = 0;
    while (i < 10) {
        cout << i << " ";
        ++i;
    }

3. 조건문

  • if, else if, else: 조건에 따라 다른 코드 실행
    int x = 10;
    if (x > 0) {
        cout << "Positive";
    } else if (x < 0) {
        cout << "Negative";
    } else {
        cout << "Zero";
    }

4. 배열

  • 1차원 배열
    int arr[5] = {1, 2, 3, 4, 5};
    for (int i = 0; i < 5; ++i) {
        cout << arr[i] << " ";
    }
  • 2차원 배열
    int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            cout << arr[i][j] << " ";
        }
    }

5. 함수

  • 함수 정의와 호출
    int add(int a, int b) {
        return a + b;
    }
    
    int main() {
        int result = add(3, 4);
        cout << result;
        return 0;
    }

6. STL (Standard Template Library)

  • 벡터: 동적 배열
    #include <vector>
    using namespace std;
    
    vector<int> v;
    v.push_back(1);
    v.push_back(2);
    for (int i = 0; i < v.size(); ++i) {
        cout << v[i] << " ";
    }
  • : FIFO 구조
    #include <queue>
    using namespace std;
    
    queue<int> q;
    q.push(1);
    q.push(2);
    while (!q.empty()) {
        cout << q.front() << " ";
        q.pop();
    }
  • 스택: LIFO 구조
    #include <stack>
    using namespace std;
    
    stack<int> s;
    s.push(1);
    s.push(2);
    while (!s.empty()) {
        cout << s.top() << " ";
        s.pop();
    }

7. 문자열

  • string 클래스: 문자열 조작
    #include <string>
    using namespace std;
    
    string str = "hello";
    str += " world";
    cout << str;
728x90