목록2023/12/24 (4)
개발하는 리프터 꽃게맨입니다.
scanf는 C 언어의 입력 함수입니다. 만약, 7 바이트 사이즈의 char형 string 변수에 'Crabman' 을 입력하면 어떻게 될까요? #define _CRT_SECURE_NO_WARNINGS #include using namespace std; int main() { char string[7]; scanf("%s", string); //Crabman 을 입력하고 싶어! return 0; } 정답은 '오류가 발생한다.'입니다. 보통 프로그램에서 '문자열'은 종단에 '널문자 (\0)'를 추가하여 문자열의 끝맺음을 해줍니다. H e l l o \0 이런 느낌이죠. 그런데, 기본적으로 scanf는 입력 버퍼의 최대 크기를 모릅니다. 그렇기에 7바이트의 버퍼에 문자열을 할당하는 순간 펑! '배열의 크기..
C언어의 서식 지정자의 C++ 버전입니다. 제가 나중에 참고하기 위해서 정리했습니다. 📘 문법 1. C++ 스타일 기본 조정자 #include #include //setw 를 사용할 수 있는 라이브러리 using namespace std; int main() { cout
📗 비둘기집 원리4개의 집이 있고 5마리의 비둘기가 있을 때 모든 비둘기에게 집을 할당하려면 '무조건' 중복된 집 할당이 생깁니다. 원리라고 부르기도 민망할 정도로 당연하고 직관적입니다. 살짝 확장을 해보자면 366명의 학생이 있을 때, 윤년을 고려하지 않으면 적어도 1명은 다른 한 명과 생일이 겹치겠죠? 이것이 '비둘기집 원리'입니다. 이 원리가 문제를 해결하는 데 있어, 존재를 증명할 때 종종 쓰이곤 합니다. 다음 예시를 통해 알아보도록 합시다. 📕 Decreasing Sequence 문제1. 문제 주어진 두 정수 L과 R이 있을 때 다음 조건을 만족하는 가장 작은 양의 정수 N을 찾아라. N% L > N%(L+1) >... > N%(R-1) > N% R 2. 입력 L = 4, R = 6을 입력했을 ..
참고: https://powerclabman.tistory.com/4 [C++] Bitwise Operator와 빠른 홀수, 짝수 찾기 📕 비트 연산자의 개념 비트 연산은 '2진수' 연산을 뜻하는데, 특정 연산자를 이용해서 이진 수로 표현된 정수에 대하여 논리적인 연산을 수행합니다. 2진수 연산은 10진수 연산에 익숙한 사람에 powerclabman.tistory.com 📕 해밍 거리란? 같은 길이의 두 문자열에서, 같은 위치에서 서로 다른 기호들이 몇 개인지 세는 것을 뜻합니다. 두 문자열 A, B가 다음과 같을 경우 A = 1011 B = 1001 밑줄 친 부분을 고려하면, 해밍 거리는 1이 되겠죠 A = Hello! B = Halro! 이 경우에는 해밍 거리는 2가 됩니다. 저는 '비트 연산'을 활..