728x90

프로그래밍 410

C#] Thread.Sleep 대신 사용할 Delay 함수

System.Threading.Thread.Sleep을 이용해 간단하게 지연이 가능하나, 프로그램 자체를 완전 멈춰버린다.원하던 작업이 이게 아니라면 다른 함수를 사용해야 하는데, 아래 Delay 함수가 꽤 쓸만했다. private static DateTime Delay(int MS) { DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); DateTime AfterWards = ThisMoment.Add(duration); while (AfterWards >= ThisMoment) { System.Windows.Forms.Application.DoEvents(); ThisMoment = DateTime...

백준] 15720 - 카우버거(중앙대 CodeRace 2018)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에는 주문한 버거의 갯수 B, 사이드 메뉴의 갯수 C, 음료의 갯수 D가 공백을 사이에 두고 순서대로 주어진다. (1 ≤ B, C, D ≤ 1,000)둘째 줄에는 각 버거의 가격이 공백을 사이에 두고 주어진다.셋째 줄에는 각 사이드 메뉴의 가격이 공백을 사이에 두고 주어진다.넷째 줄에는 각 음료의 가격이 공백을 사이에 두고 주어진다.각 메뉴의 가격은 100의 배수이며, 10000원을 넘지 않는다. 출력첫째 줄에는 세트 할인이 적용되기 전 가격을 출력한다.둘째 줄에는 세트 할인이 적용된 후의 최소 가격을 출력한다. 소스코드 #include #include using namespace std; int main(void) { int b, c, d, tmp..

명품 C++ 프로그래밍 10장 실숩문제 - 3

개인적으로 C++을 공부할 때 작성해놓았던 코드들 올린다.혼자 책을 사서 독학하고 그리고 학부생 시절에 복습하면서 했던 문제들이라서어떤 문제들은 깔끔히 잘 정리되어 있고, 어떤 문제들은 허접한 버그가 있을 수도 있다.확인은 해뒀지만, 확인하지 못하거나 고려해야 할 버그, 오탈자 등은 댓글을 남겨주시라. 그간 공부한 것들을 정리하는 블로그이기 때문에 올려놓는다. 지금까지는 실습문제 문제 내용까지 적었지만, 귀찮기도 하고, 굳이 입력할 필요성은 느끼지 않아서 적지 않았다. 차후 게시물을 대대적으로 수정할 때면 추가될지도 모른다. 실습문제 13. #include #include #include #include using namespace std; class Circle { private: string name..

백준] 2804 - 크로스워드 만들기(COCI 2011/2012)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 두 단어 A와 B가 주어진다. 두 단어는 30글자 이내이고, 공백으로 구분되어져 있다. 또, 대문자로만 이루어져 있고, 적어도 한 글자는 두 단어에 포함되어 있다. 출력A의 길이를 N, B의 길이를 M이라고 했을 때, 출력은 총 M줄이고, 각 줄에는 N개 문자가 있어야 한다. 문제 설명에 나온 것 같이 두 단어가 교차된 형태로 출력되어야 한다. 나머지 글자는 '.'로 출력한다. 소스코드 #include #include using namespace std; int main(void) { string a, b; int alen, blen, aIdx = -1, bIdx = -1; cin >> a >> b; alen = a.length(); blen =..

Visual Studio 디버깅에서 메모리 값 확인하기

포인터, 변수의 주소에 대해서 그냥 책으로 그림만 그려가면서 공부하면지나치게 추상적으로 받아들여지고 실제로 그렇게 작동하는지 의심을 할 수도 있다.실체를 눈으로 보길 원하는 사람들에게 이건 반드시 그렇게 동작한다고 이야기하거나, 그냥 무작정 이렇게 돌아가니까 그런 줄 알고 활용만 잘하면 된다라고 하기보다는 직접 보여주는 게 좋은데, 비주얼 스튜디오(Visual Studio)의 편리한 디버깅 툴을 이용하면 어렵지 않게 실제 메모리에 어떻게 할당되는지 볼 수 있다. #include #include using namespace std; class Student { public: string name; int sNo; void Print(); static int studentNumber; static Stude..

C] 공용체(Union) 간단 정리

공용체(Union)는 기본적으로 구조체와 같은 선언 문법과 사용법이 동일한데, 가장 큰 차이점은 구조체 내의 멤버 변수들은 각자에게 할당된 메모리가 있으며 서로의 공유하지 않는데, 공용체는 멤버 변수 중 가장 큰 자료형의 공간을 공유하는 특성을 가지고 있음. 공용체를 선언할 때는 union 키워드를 사용. union {int i;short s[2];} u; 위 공용체의 크기를 sizeof()를 이용해 확인하면 4가 반환된다. 가장 큰 자료형이 int형이고 int형은 4바이트를 차지하기 때문이다. 만약 공용체 u가 구조체였다면 sizeof()를 통해 구조체 크기를 확인하면 4+2*2=8로 나왔을 것이다. 공용체는 기본적으로 공용체의 선두 번지와 같은 공간에 배치되어서 i의 번지와 s의 번지가 동일하게 된다..

백준] 14696 - 딱지놀이(KOI 2017)

시간 제한 : 2초메모리 제한 : 512MB 입력표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 딱지놀이의 총 라운드 수를 나타내는 자연수 N이 주어진다. N 은 1 이상 1,000 이하이다. 다음 줄에는 라운드 1에서 어린이 A가 내는 딱지에 나온 그림의 총 개수 a가 주어진다. a는 1 이상 100 이하이다. 뒤따라 나오는 a개의 정수는 어린이 A가 낸 딱지의 그림을 나타내는데, 각각 4, 3, 2, 1 중 하나의 값이다. 4, 3, 2, 1의 순서대로 주어지지 않을 수 있음에 주의하라. 다음 줄에는 라운드 1에서 어린이 B가 내는 딱지에 나온 그림의 총 개수 b가 주어진다. b도 1 이상 100 이하이다. 뒤따라 나오는 b개의 정수는 어린이 B가 낸 딱지의 그림을 나타내는데, 역시 4, 3, ..

카테고리 없음 2018.06.24

백준] 10156 - 과자(KOI 지역본선 2014)

시간 제한 : 1초메모리 제한 : 256MB 입력첫 번째 줄에는 과자 한 개의 가격 K, 사려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 각각 공백을 사이에 두고 주어진다. 단, K, N은 1,000 이하의 양의 정수이고, M은 10만 이하의 양의 정수이다. (1 ≤ K, N ≤ 1,000, 1 ≤ M ≤ 100,000이다.) 출력첫 줄에 동수가 부모님께 받아야 하는 돈의 액수를 출력한다. 소스코드 #include using namespace std; int main(void) { int k, n, m; cin >> k >> n >> m; if (k*n > m) cout

비트맵(bmp) 구조체 구조

typedef struct BITMAPFILEHEADER // 비트맵 파일 헤더 구조체{unsigned short bfType; // BMP 파일 매직넘버unsigned int bfSize; // 파일 사이즈unsigned short bfReserved1; // 예약, 0unsigned short bfReserved2; // 예약unsigned int bfOffBits; // 비트맵 데이터 시작 위치} BITMAPFILEHEADER; typedef struct BITMAPINFOHEADER // 비트맵 정보 헤더 구조체{unsigned int bfSize; // 현재 구조체 사이즈int biWidth; // 이미지 가로int biHeight; // 이미지 세로unsigned short biPlanes; ..

728x90