코딩 테스트 준비를 하면서 삽질했던 것들은 잊지 않기 위해,
숙지해야 할 알고리즘 등은 공부하기 위해 기록을 남기기로 했다.
여러 숫자 입력받기
코딩 테스트에서는 기본적으로 여러 숫자를 공백으로 구분하여 입력받는다.
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);
cin
을 통해 입력받는다.string a;
cin >> a;
getline()
함수를 사용하면 한 줄 전체를 문자열로 입력받을 수 있다.string a;
getline(cin, a);
.length()
를 통해 문자열 길이를 확인할 수 있다.string a = "hello world!";
a.length();
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;