hljs.initHighlightingOnLoad();

전체 글

fac, si facis
문제를 풀다 보면 입력을 얼마나 받는지 모를 때가 있습니다. EOF End of File, EOF 값은 -1로 stdio.h에 정의되어 있습니다. #define EOF -1 scanf는 성공적으로 입력받은 문자를 return 하는데, 에러가 있거나 파일 끝을 만났을 때(EOF) -1을 리턴합니다. 파일의 끝까지 입력 받으려면 다음과 같이 작성합니다. while(scanf("%d", &n) != EOF) while(scanf("%d", &n) != -1) while(~scanf("%d", &n)) 만약 scanf로 a, b를 모두 성공적으로 받을 경우 2를 return 합니다. while(scanf("%d %d", &a, &b) != EOF) while(scanf("%d %d", &a, &b) == 2) ..
코딩 테스트 문제를 풀다 보면 overflow에 종종 마주합니다. 이 문제를 보아도 A, B, C 값이 최대 2,147,483, 647 자연수 값이 될 수 있어 일반적인 반복문을 통한 풀이로는 long long 타입을 붙여도 overflow 가 되는 것을 알 수 있습니다. 모듈러 연산은 이러한 문제의 해결 방법 중 하나가 될 수 있습니다. 모듈러 연산이란? 어떤 한 숫자를 다른 숫자로 나눈 나머지를 구하는 연산(mod) 정수론에서 모듈러 연산(modular arithmetic) 이란, 정수의 합과 곱을 어떤 주어진 수의 나머지에 대하여 정의하는 방법입니다. c++ 에서 mod는 %로 표현됩니다 모듈러 연산 사칙 연산 덧셈, 뺄셈, 곱셈에 대해서 다음 식이 항상 성립합니다. (mod M 을 % M으로 표현..
스택, 큐, 덱은 특정 위치에서만 원소를 넣거나 뺄 수 있는 제한이 걸려 있습니다. 그래서 스택, 큐, 덱을 묶어서 Restricted Structure 라고 부르기도 합니다. Stack 스택은 가장 마지막으로 들어간 데이터가 가장 첫 번째로 나오는 성질(LIFO)을 가진 자료구조 입니다. 스택은 주로 문자열 폭발, 아름다운 괄호 만들기, 짝찾기 키워드 문제에서 주로 쓰입니다. 또한 "교차하지 않고" 라는 문장이 나오면 스택을 사용해야 하는 것 아닌지 염두해야 합니다. 삽입 및 삭제에 O(1), 탐색에 O(n) 이 걸립니다. 탐색에 O(n)이 걸리는 이유는 n번 째 요소를 찾기 위해 앞의 요소를 n번 반복해야 찾을 수 있기 때문입니다. 제일 상단이 아닌 나머지 원소들 확인/변경 기능이 제공되지 않습니다...
nerowiki
나의 작은 개발자