- float형(소수점) 출력 형식
⚠️ 주의
fixed가 없? '정수부+소수부'(전체) 기준으로 반올림하여 출력,
fixed가 있? '소수부' 만을 기준으로 반올림하여 출력
- int형 출력 형식
// cout 할 때마다 리셋되어, 사용하고 싶을 때 다시 써야함
cout.width(n) : 출력 자릿수 설정
cout.fill('') : 출력 자릿수를 맞추고 빈 자리를 무엇으로 채울건지
ex)
cout.width(2); // 2자리수
cout.fill('0'); // 0으로 채우기
- string형 문단 전체 출력 형식
char *fgets(char *str, int numChars, FILE *stream);
"매개 변수"
str
데이터의 스토리지 위치
numChars
읽을 최대 문자 수
stream
FILE 구조체에 대한 포인터
-> fgets 함수
1. 입력 stream 인수에서 문자열을 읽어 str에 저장함
2. stream의 처음부터 끝까지 or 읽은 문자 수가 numChars - 1이 될 때까지 문자를 읽음
3. str에 저장된 결과는 null 문자와 함께 추가됨(줄 바꿈 문자가 문자열에 포함됨)
ex)
char data[2001];
fgets(data, 2000, stdin);
cout << data;
- 진수 입・출력
cin >> out >> n; // 변수 n 8진수 입력
cout << oct << n; // 변수 n 8진수 출력
cin >> dec >> n; // 변수 n 10진수 입력
cout << dec << n; // 변수 n 10진수 출력
cin >> hex >> n; // 변수 n 16진수 입력
cout << hex << n; // 변수 n 16진수 출력
- 대문자 출력
cout << uppercase << n;
- 아스키코드
알파벳 25차이
-> 소문자 65~90, 대문자 97~122
- 쉬프트(<<,>>) 연산자
int a=10;
printf("%d", a<<1); //10을 2배 한 값인 20이 출력
printf("%d", a>>1); //10을 반으로 나눈 값인 5가 출력
printf("%d", a<<2); //10을 4배 한 값인 40이 출력
printf("%d", a>>2); //10을 반으로 나눈 후 다시 반으로 나눈 값인 2가 출력
- 비트단위(bitwise) 연산자는,
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor),
<<(bitwise left shift), >>(bitwise right shift)
ex)
예를 들어 1이 입력되었을 때 저장되는 1을 32비트 2진수로 표현하면
00000000 00000000 00000000 00000001 이고, ~1은
11111111 11111111 11111111 11111110 가 되는데 이는 -2를 의미
- 최소공배수와 최대공약수
최대공약수(gcd) - 유클리드 호제법
int gcd(int a, int b) {
int c;
while (b != 0) {
c = a % b; //나머지
a = b; //나눌 값으로 변경
b = c; //나머지가 나누는 값으로 변경
}
return a;
}
최소공배수(lcm)
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
'⚖️Algorithm' 카테고리의 다른 글
[코딩테스트] 2-1. 힙(Heap) (0) | 2022.07.08 |
---|---|
[백준 10830번] 행렬 제곱 C++ (0) | 2022.07.07 |
[코딩테스트] 1-2. 탐욕법(Greedy Algorithm) (0) | 2022.04.25 |
[코딩테스트] 1-1. 해시(hash) (0) | 2022.04.25 |
[코딩테스트] 준비 시작 (0) | 2022.04.25 |