[Coding Test] Coding Tips 5 : 잡-Skill

삼성B형을 위한 코딩 팁 시리즈

Python 개발자의 PRO 취득을 위한 C++ 공부 여정

잡-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) 연산을 통해 비트 삽입, 전환 등의 작업이 가능

Updated:

Leave a comment