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번 반복해야 찾을 수 있기 때문입니다. 제일 상단이 아닌 나머지 원소들 확인/변경 기능이 제공되지 않습니다...
+ 연산자 가장 간단한 방법으로 '+' 연산자를 활용할 수 있습니다. + 연산자를 통해 ret 문자열 앞과 뒤에 char 값을 추가할 수 있습니다. #include using namespace std; int main(){ ... for(int k=0 ; k
C++에서 특정 문자열을 숫자인지 확인하고 싶은 경우나 숫자로 변환하고 싶은 경우가 있습니다. isdigit() 문자가 숫자인지 판별하는 함수로 매개 변수로 들어온 char 타입이 10진수 숫자로 변경이 가능하면 0 아닌 숫자(true), 아니면 0(false)를 반환합니다. string 타입의 question 첫번째 char 값이 숫자인지 아닌지 판별합니다. string question; .. cin >> question; if(isdigit(question[0])) { ... } stoi() c++11 이상일 때 string 형식의 변수를 정수형으로 변환합니다. atoi() 함수가 C 라이브러리 내장 함수라 string 변수를 인자로 인식하지 못하는 문제를 해결한 함수입니다. question 첫번째 ..
nerowiki
'분류 전체보기' 카테고리의 글 목록 (19 Page)