알고리즘 문제만 무작정 푸는 것 같아 이번에 주요 개념들을 다시 정리하는 시간을 가지려한다
바킹독님, 큰돌님 강의와 다른 자료들을 바탕으로 복습을 진행해볼 예정!
-- int --
int 형 1개는 4byte
float - 유효숫자 6자리
double - 유효숫자 15자리
long long - 유효숫자 19자리
ex> void function(vector< int > vec){...}
어떤 벡터 A를 인자로 보내서 위 함수를 호출해서 vec의 값을 변경해도 기존의 A에는 영향이 없다!!
bool cmp1(vector<int> v1, vector<int> v2, int idx){
return v1[idx] > v2[idx];
}
매번 복사하는 것은 비효율, 아래와 같이 해결할 수 있다
bool cmp2(vector<int>& v1, vector<int>& v2, int idx){
return v1[idx] > v2[idx];
#include<bits/stdc++.h>
using namespace std;
int main() {
char a[10];
scanf("%s", a);
string s = a; // or string s(a);
printf("%s\n", s); // 오류
printf("%s\n", s.c_str());
return 0;
}
위 결과와 같이 hi를 입력했고 이를 char* 변수 a로 받았다
이 값을 string 변수 s에도 할당을 했고, printf로 출력 시 s에
c_str() 메서드를 사용해줘야 정상적으로 출력이 나온다!!
char ch1[10];
scanf("%[^\n]", ch1);
char ch2[10];
gets(ch2);
puts(ch2);
string s;
getline(cin, s);
cout << s;
ios::sync_with_stdio(0)
위를 명시한 경우 해당 코드에서 cout 과 printf 같이 사용하면 안됨!!!!! -> 이 경우 cin, cout만 사용하기
(이유 : https://www.youtube.com/watch?v=6lhVHP8bkPA&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=3 10:29)
cin.tie(0)
일반적으로 출력 내용만 정답 검사과정을 거치므로 cin 명령을 수행하기 전 cout버퍼를 비울 필요가 없어서 위와 같이 cin.tie(0)을 해준다