전체 글

전체 글

    헤더 파일 관련 정리

    헤더 파일 관련 정리

    1. #ifndef, #define, #endif 임의로 만든 헤더파일 안에는 항상 아래와 같은 형식으로 내용을 처리하여 준다. 하나의 헤더 파일만 사용한다면 크게 의미가 없겠으나, 다수의 헤더 파일을 작성하고 헤더 파일이 헤더 파일을 include하게 될 경우가 분명 생긴다. 이 경우, 아래와 같이 중복 방지 처리를 해주지 않는다면 언젠가 꼬여버려서 하나의 C파일 혹은 헤더 파일이 동일한 헤더 파일을 2번 이상 include하게 되는 경우가 생길 수 있다. 그렇게 된다면 컴파일 에러가 뜨니 중복 방지 처리에 습관을 들여주자. 헤더 파일 이름은 hello.h라고 가정한다면, hello.h의 내용은 아래와 같다. #ifndef HELLO_H # define HELLO_H (내용) #endif (1) #if..

    [Linux] mv 명령어 (파일/디렉토리 이동, 이름 변경)

    [Linux] mv 명령어 (파일/디렉토리 이동, 이름 변경)

    1. 단일 파일 이동 $ mv [이동시킬 파일의 현재 경로/이동시킬 파일의 이름] [목적 경로] * 만약 현재 디렉토리에 있는 파일을 옮기고 싶을 경우, 현재 파일 경로는 생략. * 목적 경로는 '디렉토리명/' 으로 써야 한다. 주의할 점은 pwd 명령어를 이용하는 등의 방법으로 home부터 시작하는 전체 경로를 파악한 후 지정해줘야 한다. home부터 시작하는 전체 경로를 지정하지 않으면 위와 같이 파일을 move시킬 수 없다고 permission denied. 하지만 현재 디렉토리의 하위 디렉토리에 있는 파일들을 이동시킬 때는 위와 같이 home부터 시작하는 전체 경로를 써줄 필요가 없다. 2. 다수 파일 이동 $ mv [이동시킬 파일의 현재 경로/이동시킬 파일의 이름] [이동시킬 파일의 현재 경로/..

    [백준 알고리즘][파이썬/Python] 11279번: 최대 힙

    [백준 알고리즘][파이썬/Python] 11279번: 최대 힙

    문제 시간 제한 : 1 초 (추가 시간 없음), 메모리 제한 : 256 MB 널리 잘 알려진 자료구조 중 최대 힙이라는 것이 있다. 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 1. 배열에 자연수 x를 넣는다. 2. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 가장 큰 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 자연수는 2^31보다 작다. 출력 입력에서 0이 주어진 ..

    [백준 알고리즘][파이썬/Python] 11866번: 요세푸스 문제 0

    [백준 알고리즘][파이썬/Python] 11866번: 요세푸스 문제 0

    문제 시간 제한 : 2 초, 메모리 제한 : 512 MB 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 입출력 예 ..

    [C언어] 코드로 알아보는 산술 연산자

    [C언어] 코드로 알아보는 산술 연산자

    산술 연산자 정리 연산자 설명 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 (몫) % 나머지 ++ 증가 연산자. 변수 = 변수 + 1 (전위/후위 구분 있으니 아래 코드 참고) -- 감소 연산자. 변수 = 변수 - 1 (전위/후위 구분 있으니 아래 코드 참고) printf 함수 내에서 산술 연산 # include int main() { int a = 20; int b = 10; printf("\n\n", a, b); printf("a + b = %d\t", a+b);// a + b = 20 + 10 = 30 printf("현재 a = %d, b = %d\n", a, b); printf("a - b = %d\t", a-b);// a - b = 20 - 10 = 10 printf("현재 a = %d, b = %d\..

    [VS Code] 단축키 정리

    혼자서 자주 쓰는 명령어들을 잊지 않기 위해 만드는 Cheat Sheet 개념으로, 많은 단축키가 없음을 유념해주시기 바랍니다. 좋은 명령어가 있다면 공유도 부탁드립니다 고수님들! 감사합니다 :) 공통 명령어 단축키 내용 Ctrl+/ 주석 생성 / 주석 삭제 Ctrl+K+F 소스코드 정렬 Ctrl + [ 들여쓰기 왼쪽으로 이동 Ctrl + ] 들여쓰기 오른쪽으로 이동 Ctrl + 1 좌측으로 화면 분할 Ctrl + 2 우측으로 화면 분할 Ctrl + G 입력한 라인으로 이동 Ctrl + L 현재 라인 선택 Ctrl + P 해당 디렉토리의 파일 목록 열기 Ctrl + B 좌측 토글 사이드바 열기 / 숨기기 Ctrl + K -> Z 에디트 창 확대 Ctrl + Shift + ` 터미널창 열기 Ctrl + S..

    [C언어] scanf 정리

    [C언어] scanf 정리

    입력 함수 scanf 형식 : scanf("형식 지정자", 변수의 주소); # include // scanf, printf 함수을 포함하고 있는 헤더 파일 int main() { int a; char b; double c; float d = 1.1; printf("%d %c %f %f\n", a, b, c, d); scanf("%d %c %lf %f", &a, &b, &c, &d); printf("%d %c %f %f", a, b, c, d); return 0; } /*************** 결과 **************** 0 0.000000 1.100000 1 a 15.6 17.9 (를 입력하면) 1 a 15.600000 17.900000 (이 출력된다) **********************..

    리눅스 C/C++ 개발 환경 설정 (Vim, Visual Studio Code)

    리눅스 C/C++ 개발 환경 설정 (Vim, Visual Studio Code)

    리눅스(Linux) 개발 환경 for C/C++ 이전 포스팅에서는 Windows 10에서 리눅스를 설치하는 방법에 관해 작성했다. 오늘은 리눅스 환경에서 C와 C++을 위한 개발환경 설정 방법을 포스팅하려 한다. 개발환경 설정은 'vim 기반 개발환경'과 'VS Code 기반 개발환경'을 나누어 설명하겠다. 만약 VS Code로 개발환경을 설정하고자 한다면 Windows에 VS Code가 설치되어 있어야 한다. 공통 사항 1. 우분투 터미널 창에서 아래 명령어를 수행시켜 개발에 필요한 기본적인 패키지들을 설치한다. 비밀번호를 요구하면 비밀번호를 치고, 'Do you want to continue?' 라는 문구가 나오면 엔터를 누른다. sudo apt-get install build-essential 2...