티스토리 뷰
Q1. 이차원 벡터
vector<vector<int>> ans;
for(int i=0; i<ans.size(); i++){
for(int j=0; j<ans[i].size(); j++){
cout << ans[i][j] << " ";
}
cout << "\n";
}
Q2. cin/cout & scanf/printf 속도
sync_with_stdio(false); 을 달면 scanf에 근접하는 속도가 나온다.
=> 시험에서는 기본으로 주어짐.
Q3.
while(cin >> a >> b) => EOF시 자동 탈출
Q4.
double은 %lf로 받음.
소수점 자리 더 표현하기 %.9lf
float과 dobule은 표현하는 소수 단위가 다름.
Q5.
문자열 배열의 끝 = '\0'
Q6.
endl 보다는 '\n'쓰는게 속도 더 빠름.
Q7.
에라토스테네스의 체(=소수 구하기)
vector<int> p;
for (int i=2; i<=n; i++) {
if (c[i] == false) {
//소수 넣음
p.push_back(i);
//해당 소수 배수들 모두 제외
for (int j=i*2; j<=n; j+=i) {
c[j] = true;
}
}
}
Q8. 변수 최대/최소값
int, long, long long
int, long: -2,147,483,648 ~ 2,147,483,647
long long: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
=> #include <limits.h>
=> int max_int = INT_MAX; // 최대,최소값 쉽게 알 수 있음
=> int min_int = INT_MIN;
Q9. Bit Masking
현재 집합이 S일때,
-i를 추가
S | (1<<i)
-i가 있는지 검사
S & (1<<i)
-i를 제거
S & ~(1<<i)
-i를 토글(0<->1)
S ^ (1<<i)
-부분집합의 개수 : 2^n-1
for(int i=1; i<(1<<n); i++){ // 공집합 제외이므로 i=1 부터 시작
...
}
Q10. 오름차순 정렬
#include <algorithm>
sort(a.begin(), a.end()); //기본 오름차순
=>내림차순으로 할 경우?
sort(a.begin(), a.end(), cmp);
bool cmp(string a, string b){
return a>b;
}
=> 긴 문자순 정렬 + 같은 알파벳일 경우 사전 순으로 할 경우?
char str[60];
vector<string> v;
for(int i=0 ; i<N ; i++){
cin >> str;
v.push_back(str);
}
bool cmp(string a, string b){
if(a.size() == b.size()){
return a<b;// 사이즈 같으면 사전순
}else{
return a.size() < b.size(); //사이즈 다르면 작은순
}
}
sort(a.begin(), a.end(), cmp)
Q11. next_permutation : 값의 경우의 수 (중복된 경우는 제외)
#include <algorithm>
vector <int> a;
do{
for(int i=0; i<a.size(); i++){
cout << a[i] << " ";
}
cout << endl;
}while(next_permutation(a.begin(), a.end()));
// 마지막 경우에 도달하면 반복문 탈출
sort(v.begin(), v.end(), cmp);
Q12.옳은 괄호인지 판단은 Stack 사용
( : push, ): pop(단, empty일 때 pop할 경우 무조건 Fail로 함)
Q13. 입력을 텍스트로 한번에 받기
cin 앞에 freopen("input.txt", "r", stdin);
"input.txt"파일 위치 경로: [프로젝트명]\[프로젝트명]\input.txt
=>시험에서는 기본으로 주어짐.
'알고리즘 > 메모' 카테고리의 다른 글
시간/공간 복잡도 (0) | 2018.04.18 |
---|---|
Visual Studio scanf 에러 (0) | 2018.03.18 |
숫자 한 줄 입력받기 (0) | 2018.02.14 |
알고리즘 메모장 (0) | 2018.01.13 |
STL 함수 (0) | 2018.01.13 |