프로그래밍 349

백준] 2564 - 경비원(KOI 2007 지역본선 초등부)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄에 하나씩 상점의 위치가 주어진다. 상점의 위치는 두 개의 자연수로 표시된다. 첫째 수는 상점이 위치한 방향을 나타내는데, 1은 블록의 북쪽, 2는 블록의 남쪽, 3은 블록의 서쪽, 4는 블록의 동쪽에 상점이 있음을 의미한다. 둘째 수는 상점이 블록의 북쪽 또는 남쪽에 위치한 경우 블록의 왼쪽 경계로부터의 거리를 나타내고, 상점이 블록의 동쪽 또는 서쪽에 위치한 경우 블록의 위쪽 경계로부터의 거리를 나타낸다. 마지막 줄에는 동근이의 위치가 상점의 위치와 같은 방식으로 ..

백준] 4539 - 반올림(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 테스트 케이스의 개수 n이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 x가 주어진다. (0 ≤ x ≤ 99999999) 출력각 테스트 케이스마다 입력으로 주어지는 정수를 문제 설명에 나온 것처럼 반올림한 결과를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, x, result, itmp; double dtmp; cin >> n; while (n--) { cin >> x; for (itmp = 0; pow(10, itmp) < x; itmp++); result = x; for (int i = 1; i < itmp; i++) { dtmp = (do..

운영체제(Opearting System:Concepts) 9판 1장 연습문제

1.1 다중 프로그래밍과 시분할 환경에서, 다수의 사용자가 동시에 시스템을 공유한다. 이러한 상황은 여러 가지 보안 문제를 일으킬 수 있다. a) 다른 프로세스의 자원에 접근할 수 있음. 자원을 독점해 다른 프로세스가 자원을 사용하지 못하게 할 수 있어, 시스팀의 자원 제어가 어려움. b) 보장할 수 없다. 동일 수준의 보안을 보장하려면 동일한 환경을 보장해야 하지만 동일한 환경을 보장할 수 없으며, 각 기능들로 인한 돌발 문제도 존재하기 때문이다. 1.2 자원 활용의 문제는 운영체제의 유형별로 다른 모습으로 나타난다. 다음과 같은 환경에서는 어떤 자원들이 신중하게 관리되어야 하는지 나열하시오. a) 메인 프레임 또는 미니컴퓨터 시스템 자원 이용을 극대화하도록 설계해야 하므로, 모든 자원, 즉, CPU/..

Computer Science/OS 2018.07.15

백준] 2740 - 행렬 곱셈

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째줄부터 N개의 줄에 행렬 A의 원소 M개가 차레대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개가 차례대로 주어진다. N과 M, 그리고 K는 100보다 작거나 같고, 행렬의 원소는 절대값이 100보다 작거나 같은 정수이다. 출력첫째줄부터 N개의 줄에 행렬 A와 B를 곱한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 소스코드 #include using namespace std; int main(void) { int A[100][100], B[100][100], C[100][100] = { 0, }, n, m, k; cin >> n >>..

백준] 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..