목록Algorithm (82)
촉촉한초코칩
문제 X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. 입력 입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다. 출력 출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다. 변수 student, task, no_task 리스트 알고리즘 student 리스트에 1부터 30까지 숫자를 넣는다. 28번 task에 숫자를 입력받는다. 다시 ..
문제 총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다. 출력 첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다. #include int main() { int a; scanf("%d", &a); int b[100] = {0,}; for(int i=0; i
문제 L보다 크거나 같고, U보다 작거나 같은 모든 정수의 각 자리의 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 두 정수 L과 U이 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. #include int fun(int i) { int sum = 0; int j = i; while(i > 9) { j = i % 10; i /= 10; sum = i+j; } return sum; } int main() { int a, b; scanf("%d %d", &a, &b); unsigned int sum = 0; for(int i=a; i= 10) { sum += fun(i); } } printf("%d\n", sum); } a부터 b까지 for문 반복 만약, i가 10보다 크다면 함수를 사용해서 10으..
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 처음에는 calloc으로 배열 크기대로 메모리 공간을 만들고 이중 for문을 사용해서 오름차순으로 다시 배열에 넣은 다음 출력했는데, 메모리 초과/런타임 에러 등 틀렸다고 나왔다. #include #include int main(void) { int a; int *num; scanf("%d", &a); num = (int *)calloc(a, sizeof(int)); fo..
문제 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한 각 물건의 가격과 개수 구매한 물건들의 총 금액 을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자. 입력 첫째 줄에는 영수증에 적힌 총 금액 X$X$가 주어진다. 둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N$N$이 주어진다. 이후 N$N$개의 줄에는 각 물건의 가격 a$a$와 개수 b$b$가 공백을 사이에 두고 주어진다. 출력 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하..
02-1 배열 자료구조 (data structure) : 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 * 데이터 단위는 데이터를 구성하는 한 덩어리라고 생각하면 된다. 자료구조는 쉽게 말해 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법을 말한다. 배열 (array) 같은 자료형의 변수로 이루어진 요소 (element)가 모여 직선 모양으로 줄지어 있는 자료구조 배열 선언 방법 자료형 배열이름[요소개수]; ex) int a[5]; 요소 개수는 상수만 사용할 수 있다. (변수 사용 불가) * 상수식은 상수만을 포함하는 식으로, 실행 시점이 아닌 컴파일 시점에 계산된다. 요소와 인덱스 배열의 모든 요소는 직선 모양으로 줄지어 있다. 배열의 개별 요소에 접근하기 위해 사용하는 것이 ..