일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- c++
- Tips강좌
- Kotlin
- 이지스퍼블리싱
- 포인터
- Programming
- 함수
- Desktop
- CS
- 알고리즘
- 백준
- Visual Studio
- 김성엽
- Tips프로그래밍강좌
- Win32
- 리뷰
- Javascript
- Windows
- doit코틀린프로그래밍
- Direct2D
- c#
- 배열
- VS ERROR
- 지식나눔강좌
- tipssoft
- 프로그래밍
- c
- 티스토리
- 연산자
- 문법
- Yesterday
- Today
- Total
목록All (384)
F.R.I.D.A.Y.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZEfhV/btqAjMHqSeX/uJmetTNKve2A21gCB5tUKk/img.png)
몇 달 전에 티스토리의 에디터가 새로이 개편되며 불필요한 기능들이 사라지고 새로운 기능은 추가되어 돌아왔습니다. 그러나 예나 지금이나 필요한 것이 하나 있으니, 그것은 바로 접은글 기능입니다. 이 접은글 기능은 문서 내에서, 필요에 의해 특정 문장을 바로 보지 못하도록 감춰둘 때 사용하는 기능입니다. 옛날에는 접힌 상태에 따른 표시 스타일을 변경할 수 있었습니다. 에디터 개편이 이루어지고 나선 이런 기능이 사라졌습니다. 더보기 # tmlTitle.js를 소개합니다. 해당 기능을 이용할 수 있는 tmlTitle.js 스크립트를 소개합니다. 아래 링크를 클릭해 확인할 수 있습니다. 당신의 글쓰기를 더욱 다채롭게 글쓰기를 사랑하는 많은 티스토리 여러분, 안녕하세요. 당신의 글쓰기를 더욱 다채롭게 해줄 프로그램..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WDktp/btqAiW99Ywf/jLRpxNEqkoJCi3p1pYAJV0/img.jpg)
C언어의 꽃이라 불리는 포인터는 그 사용의 범위가 넓은 만큼, 많은 초보 개발자들이 힘들어하는 문법이기도 합니다. 오늘은 이러한 포인터 중에서도 특별한 void 포인터에 대해 알아봅니다. 모든 포인터[# typedef된 자료형 제외]는 기본 자료형 뒤에 *(asterisk)가 표시되어 있습니다. void 포인터이니 먼저 void 자료형에 대해 알아봅니다. void 일전에 main 함수의 반환 타입은 int가 표준이라는 포스트를 작성한 적이 있습니다. void도 결국은 반환 타입입니다. 그렇다면 void는 어떤 것을 반환할까요? 정답은 '아무도. 아니, 작성자 본인만 안다'입니다. void 타입은 많은 사람들이 반환 타입이 존재하지 않으면, 달리 말해 반환할 대상이 없다면 void를 작성한다고 설명합니다...
malloc VS calloc 동적할당은 프로그램에 조금만 규모가 생기면 잘 사용하게 되는 기술로 C언어에서는 함수를 이용해 동적할당을 받는데요, 동적할당을 하는 함수로는 대표적으로 아래와 같은 것들이 있습니다. malloc calloc real.. pang2h.tistory.com 위 포스트에 댓글로 들어온 질문입니다. malloc 함수를 사용할 때와 달리 왜 calloc 함수는 두 개의 인자를 받아야 할까요? calloc() 이전 포스트에서도 말한 것과 같이 calloc 함수는 malloc 함수로 받은 메모리 공간을 0으로 초기화하여 메모리 시작 주소를 반환하는 함수입니다. 인자 두 개가 필요한 것은 메모리 공간을 0으로 초기화할 때 필요합니다. 다음 코드를 보겠습니다. #include int mai..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1mynK/btqz13vvak2/xk2Q09SkXfWSbcSAE89YNK/img.png)
조금 복잡한 계산들. 즉, 복잡한 수식들을 반복해서 작성하기는 여간 귀찮은 것이 아닙니다. 그래서 우리는 전처리 명령어(define)를 이용해서 매크로 함수로 그 수식을 대신하곤 합니다. 이번 포스트에서는 이 매크로 함수를 작성할 때 무엇을 주의해야 하는지 알아봅니다. 매크로 함수 일단 아래 코드를 예시로 들겠습니다. 간단히 두 수를 더하는 함수를 만들었다고 합시다. #include int add(int a, int b){ return a +b; } int main(void){ int a,b; scanf("%d %d", &a, &b); printf("%d + %d = %d\n", a, b, add(a,b)); return 0; } 우리 블로거는 add 함수를 이용하는 것은 프로그램 속도에 영향을 주기 때..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A6JoO/btqzYpMM0bb/ucvPv7CpLhGBIXkIpupVF1/img.png)
문제를 해결하는 데 있어서는 많은 방법이 있습니다. 프로그래밍이란 결국 문제를 해결하는 과정을 순차적으로 나열한 것이라고 봐도 무방하겠지요. 오늘 포스트에서는 동적 계획법, 다르게 말하면 다이나믹 프로그래밍(Dynamic Programming, DP)에 대해 알아봅니다. Q. 피보나치 수 구하기 갑자기 웬 피보나치 수를 구하느냐구요? 동적 계획법을 설명하는 가장 간단하면서도 이 기술을 처음 접하는 사람들이 이해하기 쉬운 문제이기 때문입니다. 위 문제를 구하라고 한다면 대체적으로 아래와 같은 두 가지 방법 중 한 가지를 이용할 겁니다. // # F[1] = F[2] = 1; int fibonacci1(int n){ // 재귀 함수를 이용한 방법 if(n > 2){ return fibonacci1(n-1) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/batxFx/btqzR23smGH/r3MgCEL1OkfptcuXNW8Wa0/img.png)
11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 입력받은 동전들의 가치로 입력받은 금액을 만드는 동전 개수에서 가장 개수가 적은 값을 출력하는 문제입니다. 문제의 알고리즘 분류를 보면 과 이 들어가 있습니다. 문제 해결에 앞서 그리디 알고리즘에 대해 알아봅니다. 그리디 알고리즘 그리디 알고리즘을 간단히 설명하면 현재 상황에서 가장 최선의 값을 선택하는 알고리즘으로 아래와 같은 상황에서 A 루트를 선택하는 경우입니다. 전체를 보았을 때 B 루트가 최..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/B5BrE/btqzOmV4V1d/udRckcputlQA2tJ4fDIXCK/img.jpg)
우리나라 많은 사람들이 이용하는 Windows 운영체제는 주기적으로 업데이트를 거쳐 다양한 기능을 추가로 제공합니다. 운영체제를 다시 설치하지 않는데 어떻게 새로운 기능이 추가될 수 있을까요? # 이전 에 이어서 작성하는 포스트입니다. Callback 사전에서의 Callback 정의는 다음과 같습니다. 프로그램을 작성하는 과정에서도 콜백(Callback)이라는 기술을 사용합니다. Node.js가 프로그램을 실행하는 방식이 콜백 함수가 다른 콜백 함수를 호출하는 식으로 이루어진다고 합니다. 프로그래밍에선 아래와 같은 기능을 콜백 함수라고 부릅니다. "유용한 함수를 컴파일해 배포했습니다. 사람마다 원하는 세부 기능이 다를 수 있으므로 본인의 함수 안에서 사용자가 원하는 함수를 직접 작성할 수 있도록 공간을 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b2hp9k/btqzK07tgWa/PUbXk8xnBRyJceNTuyGkh0/img.jpg)
길벗에서 출판한 책 에서 처음으로 나오는 알고리즘은 스택을 이용한 주가 스팬 계산입니다. 마침 스택에 대한 포스트도 연이어 작성 중인 와중에 이 책을 읽고 있어 잘됐다 싶어 포스트 주제로 선정하게 되었습니다. 주가 스팬을 구하는 기본적인 알고리즘 구조는 책에서 보실 수 있습니다. 저는 이 책에서 선보이는 의사 코드(pseudo code)를 C언어로 재구성하고자 합니다. 주가 스팬? 먼저 문제를 풀어보기 전에 주가 스팬이 무엇인지 알아봅니다. 주가 스팬은 다음과 같습니다. 왼쪽과 같은 주식 그래프가 존재한다고 생각해봅시다. 이때 1번 그래프는 앞에 주가 스팬을 판단할 값이 존재하지 않으므로 1번의 그래프 주가 스팬은 1입니다. 2번 그래프는 1번 그래프보다 값이 크므로 주가 스팬은 2입니다. 이는 5번 그..
아래 포스트에서는 소괄호() 만이 입력으로 들어왔기 때문에 굳이 스택을 만들지 않고 작성해도 되었지만, 만일 대-중-소괄호를 모두 이용한다면 어떻게 해야 할까요? 링크된 포스트의 코드로는 답이 되지 않습니다. BAEKJOON 9012 : 괄호 for C 스택을 이용하는 문제라고는 하지만 잘 생각해보면 굳이 스택을 사용하지 않아도 되는 문제입니다. 문제의 핵심은 결국 괄호의 특성을 이해하는 것이라고 생각합니다. 결국 괄호가 제 기능을 하기 위해서는 여는.. pang2h.tistory.com # BAEKJOON의 문제를 풀이하기 위한 용도가 아니므로 입력은 한 번만, 그리고 최대 100개의 문자를 받을 수 있도록 제한합니다. 스택을 만들자 만일 여러 종류의 괄호를 이용한다면 스택이 필요합니다. 물론 배열을 ..