본문 바로가기

분류 전체보기

[C code] 기본 자료형 (정수형, 실수형) / 출력 서식문자 정수형 char / 1 바이트 / -128 ~ +127 short / 2 바이트 / -32,768 ~ +32,767 int / 4 바이트 / -2,147,483,648 ~ +2,147,483,647 -> %d (char, shor, int : 부호 있는 10진수 정수) -> %c (: 값에 대응하는 문자 unsigned int / 4 바이트 / 0 ~ (2,147,483,648 + 2,147,483,647) -> %u (: 부호 없는 10진수 정수) -> %o (: 부호 없는 8진수 정수) -> %x, %X (: 부호 없는 16진수 정수) long / 4 바이트 / -2,147,483,648 ~ +2,147,483,647 -> %ld long long / 8 바이트 / -9,223,372,036,854,.. 더보기
[C] 동적 계획법 (DP; Dynamic Programming) 동적 계획법이란 복잡한 문제를 부분적인 문제(subproblem)로 나누어 푸는 방법을 말한다 예를 들어, 1번 줄에서부터 10번 줄까지의 어떤 조건에 따라 계산을 하는데 2번 줄에서의 계산 방식과 7번 줄에서의 계산 방식이 동일하다고 할 때 생각해볼 수 있다 동적 계획법은 분할 정복과 같은데, 분할 정복은 계산한 부분 문제를 한 번만 쓰기 때문에 메모이제이션이 필요하지 않다 메모이제이션이 무엇인가 ? void DFS(n) { if(n == 1 || n == 2) ... if (DP[n] == 0) { ... DFS(n-1); DFS(n-2); DP[n] = DP[n-1] + DP[n-2]; ... } } 위의 코드에서 재귀함수를 활용하여 1~n까지의 경우를 확인하는데, DP배열에 이미 확인한 부분을 M.. 더보기
인터벌 스케줄링 (Interval Scheduling) Greedy Algoritm (그리디 알고리즘) 의 첫 번째 예시라고 할 수 있는 문제가 바로 이 인터벌 스케줄링 문제이다 백준사이트 1931번 문제가 바로 그 문제이다 (https://www.acmicpc.net/problem/1931) 1 4 3 5 0 6 5 7 3 8 5 9 6 10 8 11 8 12 2 13 12 14 위와 같이 11가지의 시작하는 시간, 끝나는 시간이 주어질 때, 어떻게 하면 가장 "많은" 일을 할 수 있을까 하는 문제이다 1. 일의 시간이 가장 짧은 순서대로 ? (Shortest interval) 시간이 가장 짧은 일이, 맨 뒤의 일이라면 비효율적이게 된다 2. 시작시간이 빠른 순서대로 ? (Earliest start time) 시작시간이 가장 빠른 일이, 가장 늦게 끝나면 .. 더보기
[C code] 프로그램 바로 종료시키기 exit() #include 의 헤더파일에 있는 함수이다 함수 원형은 void exit ( int status ) ; 로, 정상적 종료는 #include exit(0); 비정상적 종료는 #include exit(1); 과 같다 ! 출력하고 바로 프로그램을 종료하고 싶을 때에 쓰면 유용할 것 같다 더보기
[티스토리] 코드블럭 글꼴, 스타일 설정 / 라인넘버 표처럼 안 나오게 설정 관리 페이지에서 꾸미기 - 스킨편집 - HTML 편집 - 위에 아래 소스를 복사해서 붙여 넣어주면 된다 highlight 기본 스타일(default.min.css)가 싫으시다면 첫번째 주소를 들어가서 마음에 드는 스타일을 찾는다 2번째 링크를 들어가서 마음에 드는 스타일 파일 이름을 찾은 후, default를 지우고 원하는 스타일 파일 이름으로 바꿔주면 된다 AndroidStudio 스타일을 사용하고 싶으면 androidstudio.min.css로 수정하면 된다 min.css 지우면 X 하이라이트 데모 페이지 : https://highlightjs.org/static/demo/ 하이라이트 스타일 리스트 : https://github.com/highlightjs/highlight.js/tree/master.. 더보기