2023. 7. 25. 13:04ㆍ스키마에듀 c언어 수업
https://www.acmicpc.net/problem/5585
5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net
https://www.acmicpc.net/problem/10773
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
#include <stdio.h>
#define MAX 100001
int stack[MAX];
int top = 0;
int sum=0;
void push(int x){
if(top>=MAX){
return;
}
stack[top++] = x;
}
void pop(){
if(top<=0){
return;
}
top --;
}
int main(void){
int k;
scanf("%d", &k);
int x;
for(int i=0;i<k;i++){
scanf("%d", &x);
if(x==0){
pop();
}else{
push(x);
}
}
for(int j=0;j<top;j++){
sum += stack[j];
}
printf("%d", sum);
return 0;
}
https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
#include <stdio.h>
#include <string.h>
#define MAX 100001
int stack[MAX];
int top = 0;
int sum=0;
void push(int x){
if(top>=MAX){
return;
}
stack[top++] = x;
}
int pop(){
if(top<=0){
return -1;
}
return stack[--top];
}
int main(void){
int k;
scanf("%d", &k);
char command[10];
int x;
for(int i=0;i<k;i++){
scanf("%s", command);
if(strcmp(command,"push")==0){
scanf("%d", &x);
push(x);
}
if(strcmp(command,"pop")==0){
int p = pop();
printf("%d\n", p);
}
if(strcmp(command,"top")==0){
if(top==0){
printf("-1\n");
}else{
printf("%d\n", stack[top-1]);
}
}
if(strcmp(command,"size")==0){
printf("%d\n", top);
}
if(strcmp(command,"empty")==0){
if(top==0){
printf("1\n"); //stack이 비어있으면
}
else{
printf("0\n"); //stack이 비어있지 않으면
}
}
}
return 0;
}
https://www.acmicpc.net/problem/23305
23305번: 수강변경
$1$번 학생과 $5$번 학생이 수업을 교환하고, $2$번 학생과 $4$번 학생이 수업을 교환하면 $3$번 학생을 제외한 모든 학생이 원하는 수업을 수강할 수 있다.
www.acmicpc.net
https://www.acmicpc.net/problem/21313
21313번: 문어
문어에게 여덟개의 팔이 있다는 사실은 잘 알려져 있다. 하지만 문어들이 자신의 팔들을 1번, 2번, 3번, ..., 8번이라고 부른다는 말은 오늘 처음 들었을 것이다! 단, 시계방향으로 오름차순이라던
www.acmicpc.net
https://www.acmicpc.net/problem/2775
#include <stdio.h>
int main(){
int arr[15][15] = {0,}; // 아파트의 층은 14보다 작거나 같기때문에 각각 15크기의 2중배열을 선언하고 0으로 초기화.
int test,h,w;
for(int i=0; i<15; i++){
arr[0][i] = i; // 문제를 보면 0층의 i호에는 i명만큼 산다고해서 0층에는 i명으로 선언.
}
for(int i=1; i<15; i++){
for(int j=1; j<15; j++){
arr[i][j] = arr[i-1][j] + arr[i][j-1];
} // 문제에서 말한 공식대로 밑에층의 1호부터 해당호까지 사람들의 합을 arr[i][j]에 넣어준다.
}
scanf("%d",&test);
for(int i=0;i<test;i++){
scanf("%d %d", &h, &w);
printf("%d\n", arr[h][w]);
}
return 0;
}
https://www.acmicpc.net/problem/2587
2587번: 대표값2
어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 +
www.acmicpc.net
#include <stdio.h>
#include <string.h>
int main(){
int avg = 0, i, j, temp, num[5] = {0, }, sum = 0;
for(i = 0; i < 5; i++){
scanf("%d", &num[i]);
sum += num[i];
}
avg = sum / 5;
for(i = 0; i < 5; i++ ){
for(j = 0; j < 5; j++){
if(num[j] > num[j + 1]){
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
printf("%d\n%d", avg, num[2]);
}
'스키마에듀 c언어 수업' 카테고리의 다른 글
스키마에듀 0819 (2) | 2023.08.15 |
---|---|
스키마에듀_백준문제 0812 (1) | 2023.08.06 |
스키마에듀 수업 0721 (0) | 2023.07.21 |
0715 스키마에듀 c언어 자료구조 수업 (0) | 2023.07.15 |
스키마에듀 수업 0713 백준 (0) | 2023.07.13 |