[코테] 코테 공부 시작 전 준비 (1)

유정현·2023년 3월 21일
0

코딩테스트 준비

목록 보기
1/6

코테 공부 시작

코딩 테스트 준비를 하면서 삽질했던 것들은 잊지 않기 위해,
숙지해야 할 알고리즘 등은 공부하기 위해 기록을 남기기로 했다.

기본적인 입력 받기

정수

  • 여러 숫자 입력받기
    코딩 테스트에서는 기본적으로 여러 숫자를 공백으로 구분하여 입력받는다.

    int K, M, N;
    cin >> M >> N >> K;
  • 여러 줄 입력받기
    M개의 case에 대해 N개의 입력을 해야 하는 경우, 크기가 M인 배열을 동적 할당하고 N개의 공백 입력을 하나씩 집어넣으면 된다.
    동적 배열 할당 시, 반드시 delete[]를 통해 삭제해야 한다!

    int M, N;
    cin >> M >> N;	// 10 3
    
    int** a = new int*[M];
    
    for (int i=0; i<M; i++)
        a[i] = new int[N]();
    
    for (int i=0; i<M; i++) {
        for (int j=0; j<N; j++)
            cin >> a[i][j];
    }
    
    delete[] a;
    // 2 7
    // 1 2 3 4 1 2 3
    // 4 9 1 2 5 6 3
  • 정적 배열 생성 / 함수 인자로 받기

    int A[2][3] = {
                            { 1,2,3 },
                            { 4,5,6 }
    };
    
    def hello(int A[][]) {
    ...
  • 동적 할당 / 함수 인자로 받기

    int A = new int*[2];
    for (int i=0; i<2; i++)
            A[i] = new int[3]();   // 0으로 초기화
    
    def hello(int** A) {
    ...
  • 배열 정렬
    기본적인 내장 함수 사용법만 정리했다. 정렬 알고리즘 관련 내용은 나중에...
    <algorithm> 을 include한 다음, sort() 함수를 적용한다.
    parameter는 배열 포인터와, 배열 포인터 + 사이즈를 대입한다.

    #include <algorithm>
    
    int A = new int*[2];
    for (int i=0; i<2; i++)
            A[i] = new int[3]();   // 0으로 초기화
    
    sort(A, A+2);

문자열

  • 문자열 입력받기
    C++은 C에 비해 문자열을 간단하게 처리할 수 있다. string 형 변수를 선언한 다음, cin을 통해 입력받는다.
    string a;
    cin >> a;
  • 이때, 공백이 포함된 문자열을 받을 경우, getline() 함수를 사용하면 한 줄 전체를 문자열로 입력받을 수 있다.
    string a;
    getline(cin, a);
  • 문자열 길이 확인
    .length()를 통해 문자열 길이를 확인할 수 있다.
    string a = "hello world!";
    a.length();
  • 문자열 합치기 (concatenate)
    string a = "hello world!";
    string b = "me too!";
    string c = a + b;
    cout << c << endl;
  • 문자열 탐색
    string a = "hello world!";
    for (int i=0; i<a.length(); i++) {
            cout << a[i] << " ";
    }
    cout << endl;
profile
Mechanical Engineering, SKKU

0개의 댓글