[Coding Test] Coding Tips 5 : 잡-Skill
삼성B형을 위한 코딩 팁 시리즈
Python 개발자의 PRO 취득을 위한 C++ 공부 여정
- [Coding Test] Coding Tips 1 : ABS(x) macro used in DFS
- [Coding Test] Coding Tips 2 : Priority Queue, Bit Operator
- [Coding Test] Coding Tips 3 : Iterator
- [Coding Test] Coding Tips 4 : algorithm library
- [Coding Test] Coding Tips 5 : 잡-Skill
- [Coding Test] Coding Tips 6 : vector, deque, list
- [Coding Test] Coding Tips 7 : hash
잡-Skill
아래는 깔끔한 코딩, 뜬금없이 발생하는 에러들을 막기 위한 하나의 잡기술들을 나열한 것들이다. 쭉~ 읽어보며 한 번씩 끄덕이면 되겠다.
char* 문자열
C, C++ 문자열의 끝에는 항상 '\0'
이 있어야 한다. 이 값이 없다면 문자의 끝을 인지하지 못 한다. 굉장히 기본적인 사실이지만 #include<string>
을 사용하다보면 가끔 까먹곤 하는데, 명심할 수 있도록!
Condition 우선 체크
if(condition A && condition B)
조건에서 condition A 를 만족하지 못하면 condition B는 검사하지 않고 넘어간다.
memset
memset
은 char 형 배열을 세팅할 때 사용하는 것이라 2byte 단위로 대입한다. 따라서 -1, 0 값을 제외한 값들로는 초기화 할 수 없다. 2차원 배열은 행 x 열 사이즈를 넣어주면 자연히 초기화 된다.
- memset 은
#include<string.h>
로 사용할 수 있는 메모리 초기화 함수이다. - 보통의 for 문보다 빠르게 초기화 가능하다.
- 사용법을 잘 익혀두어야 한다.. (이것 때문에 96점으로 PRO 탈락했다..) 항상
sizeof()
로 초기화 명시자를 붙여주어야 한다.- 올바른 예:
memset(arr, MAXVAL, sizeof(int) * MAXNUM)
- 틀린 예:
memset(arr, MAXVAL, MAXNUM)
- 올바른 예:
integer 표기법
int a = 0b011'101;
int b = 0xEA11'DA00;
와 같이 표현할 수 있다. 즉, '
을 이용해 파이썬에서 자리수를 표현하는 것과 같은 효과를 낼 수 있다.
Bit Operator
i & (1 << j): i의 j 번째 bit가 1인지 확인
| (or), ^ (xor) 연산을 통해 비트 삽입, 전환 등의 작업이 가능
Leave a comment