top of page
게시판 게시물
dmw2013
2024년 5월 19일
In 소스 코드 제출
/*
#include <stdio.h>
int arr[100002];
int n,i,j,tem,x;
int bs(int s, int e, int k)
{
int mid = (s+e)/2;
if(s>e){
return -1;
}
if(arr[mid]==k){
return mid;
}
else if(arr[mid]>k){
return bs(s,mid-1,k);
}
else{
return bs(mid+1,e,k);
}
}
void qs(int s, int e)
//arr[s] ~arr[e] 까지 퀵정렬
{
int pivot=s; // 기준값의 "위치"
int left=s,right=e+1;
if(s>=e){ //데이터가 없거나 1개만있을때
return ;
}
// 작은애들 arr[pivot] 큰애들
do
{
do
{
left++;
}while(arr[pivot]>arr[left]);
do
{
right--;
}while(arr[pivot]<arr[right]);
if(left<right){
tem=arr[left];
arr[left]=arr[right];
arr[right]=tem;
}
}while(left<right);
tem=arr[pivot];
arr[pivot]=arr[right];
arr[right]=tem;
qs(s,right-1);
qs(right+1,e);
//insert(n,pivot);
}
int main()
{
int arra[100002];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&arr[i]);
}
qs(1,n);
for(i=1;i<=n;i++){
printf("%d\n",arr[i]);
}
return 0;
}
//quick sort 퀵정렬
//
//: 한 라운드가 끝나면 기준값이 자리를 찾아간다
//
//( 기준값보다작은애들 ) 기준값 (큰애들)
//
//
#include <stdio.h>
int arr[50001];
int n,i,j,tem,x;
int bs(int s, int e, int k)
{
int mid = (s+e)/2;
if(s>e){
return -1;
}
if(arr[mid]==k){
return mid;
}
else if(arr[mid]>k){
return bs(s,mid-1,k);
}
else{
return bs(mid+1,e,k);
}
}
void qs(int s, int e)
//arr[s] ~arr[e] 까지 퀵정렬
{
int pivot=s; // 기준값의 "위치"
int left=s,right=e+1;
if(s>=e){ //데이터가 없거나 1개만있을때
return ;
}
// 작은애들 arr[pivot] 큰애들
do
{
do
{
left++;
}while(arr[pivot]>arr[left]);
do
{
right--;
}while(arr[pivot]<arr[right]);
if(left<right){
tem=arr[left];
arr[left]=arr[right];
arr[right]=tem;
}
}while(left<right);
tem=arr[pivot];
arr[pivot]=arr[right];
arr[right]=tem;
qs(s,right-1);
qs(right+1,e);
//insert(n,pivot);
}
int main()
{
int n,i,j,tem,x;
int arra[50001];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&arr[i]);
arra[i]=arr[i];
}
qs(1,n);
for(i=0;i<n;i++){
printf("%d ",bs(1,n,arra[i+1])-1);
// printf("%d ",arr[i+1]);
}
return 0;
}
#include <stdio.h>
int res=0;
typedef struct{
int r;
int g;
int b;
}color;
int compare(int a,int b)
{
if(a<b){
return a;
}
else{
return b;
}
}
int main()
{
int i,n,j,sum=0;
color arr[16];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d %d %d",&arr[i].r,&arr[i].g,&arr[i].b);
}
for(i=n-1;i>=1;i--){
for(j=1;j<=3;j++){
if(j==1){
arr[i].r=arr[i].r+compare(arr[i+1].g,arr[i+1].b);
}
else if(j==2){
arr[i].g=arr[i].g+compare(arr[i+1].r,arr[i+1].b);
}
else{
arr[i].b=arr[i].b+compare(arr[i+1].g,arr[i+1].r);
}
}
}
if(arr[1].r<arr[1].g){
if(arr[1].r<arr[1].b){
printf("%d",arr[1].r);
}
else{
printf("%d",arr[1].b);
}
}
else{
if(arr[1].g<arr[1].b){
printf("%d",arr[1].g);
}
else{
printf("%d",arr[1].b);
}
}
return 0;
}
*/
//Dynamic Programming DP
#include <stdio.h>
double arr[10001];
double memo [10001];
// memo[i] : memo[??] ~ memo[i]의 연속 곱중에 제일 큰 수
double multiply(int s,int d)
{
int b;
double ans=1;
for(b=1;b<d;b++){
if(ans*arr[b+s])
ans=ans*arr[b+s];
}
return ans;
}
int main()
{
int i,j,n;
double a=0,b;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%lf",&arr[i]);
}
for(i=1;i<=n;i++){
for(j=1;j<=n-(i-1);j++){
b=multiply(j,i);
if(b>a){
a=b;
}
}
memo[i]=a;
a=0;
}
for(i=1;i<=n;i++){
if(memo[i]>a){
a=memo[i];
}
}
printf("%.3lf",a);
return 0;
}
0
0
0
dmw2013
2024년 5월 15일
In 소스 코드 제출
/*
#include <stdio.h>
int arr[50001];
int bs(int s, int e, int k)
{
int mid = (s+e)/2;
if(s>e){
return -1;
}
if(arr[mid]==k){
return mid;
}
else if(arr[mid]>k){
return bs(s,mid-1,k);
}
else{
return bs(mid+1,e,k);
}
}
int main()
{
int n,i,j,tem,x;
int arra[50001];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&arr[i]);
arra[i]=arr[i];
}
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
if(arr[j]>arr[j+1]){
tem=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tem;
x++;
}
}
if(x==0){
break;
}
}
for(i=0;i<n;i++){
printf("%d ",bs(1,n,arra[i+1])-1);
}
return 0;
}
이분 탐색 = 이진탐색 = ( 반씩 쪼개가면서 탐색)
binary + search
#include <stdio.h>
int arr[1000001]={},n;
int bs(int s, int e, int k)
// arr[s] ~ arr[e] 에서 k값의 위치 리턴 , 없다면 -1 리턴
{
int mid = (s+e)/2;
if(s>e){
return -1;
}
if(arr[mid]==k){
return mid;
}
else if(arr[mid]>k){
return bs(s,mid-1,k);
}
else{
return bs(mid+1,e,k);
}
}
int main()
{
int m,i,j,a;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&arr[i]);
}
scanf("%d",&m);
for(i=1;i<=m;i++){
scanf("%d",&a);
printf("%d ",bs(1,n,a));
}
return 0;
}
#include <stdio.h>
int n,k,arr[10001];
int bs(int s, int e, int k)
// arr[s] ~ arr[e] 에서 k값의 위치 리턴 , 없다면 -1 리턴
{
int mid = (s+e)/2;
if(s>e){
return -1;
}
if(arr[mid]==k){
return mid;
}
else if(arr[mid]>k){
return bs(s,mid-1,k);
}
else{
return bs(mid+1,e,k);
}
}
int main()
{
int ans=-1,fa=0,a,i;
scanf("%d %d",&n,&k);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(fa==0){
if(a>=k){
ans=i;
fa=1;
}
}
}
if(ans==-1){
printf("%d",n+1);
return 0;
}
printf("%d",ans);
return 0;
}
quick sort 퀵정렬
: 한 라운드가 끝나면 기준값이 자리를 찾아간다
( 기준값보다작은애들 ) 기준값 (큰애들)
*/
int arr[1000];
void qs(int s, int e)
//arr[s] ~arr[e] 까지 퀵정렬
{
int pivot=s; // 기준값의 "위치"
int left=s+1,right=e;
if(s>=e){ //데이터가 없거나 1개만있을때
return ;
}
// 작은애들 arr[pivot] 큰애들
while(left<right)
{
while(arr[pivot]>arr[left])
{
left++;
}
while(arr[pivot]<arr[right])//
{
right--;
}
tem=arr[left];
arr[left]=arr[right];
arr[right]=tem;
}
//
qs(s,right-1);
qs(right+1,e);
}
0
0
2
dmw2013
2024년 5월 08일
In 소스 코드 제출
/*
#include <stdio.h>
int i;
typedef struct{
char str[101];
int ymd;
}schedule;
schedule arr[101],temp;
int main()
{
int n,i,j,x;
int y, m, d;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s %d %d %d",&arr[i].str,&y,&m,&d);
arr[i].ymd =y*10000+m*100+d;
}
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
if(arr[j].ymd>arr[j+1].ymd){
temp= arr[j];
arr[j]=arr[j+1];
arr[j+1]= temp;
x++;
}
else if(arr[j].ymd==arr[j+1].ymd&&strcmp(arr[j].str,arr[j+1].str)>0){
temp= arr[j];
arr[j]=arr[j+1];
arr[j+1]= temp;
x++;
}
}
if(x==0){
break;
}
}
for(i=1;i<=n;i++){
printf("%s\n",arr[i].str);
}
}
#include <stdio.h>
int main()
{
int i,n,m=1;
scanf("%d",&n);
for(i=1;m*2<=n;i++){
m=m*2;
}
printf("%d",m);
}
#include <stdio.h>
typedef struct
{
int num;
int height;
}sticks;
int main()
{
sticks arr[100001];
int i,n,max=0,o=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&arr[i].height);
arr[i].num=i;
}
for(i=n;i>=1;i--){
if(arr[i].height>max){
o++;
max=arr[i].height;
}
}
printf("%d",o);
return 0;
}
#include <stdio.h>
int main()
{
int i,j,n,k,p,q=0,a,b=0;
scanf("%d %d %d",&n,&k,&p);
// for(n번반복)
// {
// // 한 묶음 팔 수 있는지 판단
// for(k번반복)
// {
// scanf();
// if()
// {
// // 크림 없는 빵 개수 세기
// }
// }
// if(팔수있으면)
// }
for(i=1;i<=n;i++){
q=p;
for(j=1;j<=k;j++){
scanf("%d",&a);
if(a==0){
q--;
}
}
if(q>0){
b++;
}
}
printf("%d",b);
return 0;
}
#include <stdio.h>
int main()
{
int i,n,d,t,min=10000;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d %d",&d,&t);
if(d<=t){
if(t<min){
min=t;
}
}
}
if(min==10000){
printf("-1");
}
else{
printf("%d",min);
}
return 0;
}
정보 올림피아드 기출문제 풀이 필요할때!!
https://www.youtube.com/@jungol/videos
*/
#include <stdio.h>
int main()
{
int arr[]
}
0
0
4
dmw2013
2024년 5월 01일
In 소스 코드 제출
/*
#include <stdio.h>
int i,c=1;
typedef struct{
int aarr[3];
int ja;
int mo;
}bunsu;
bunsu arr[10001],temp;
void giyak(int a,int b)
{
int y;
if(a>=b){
return ;
}
for(y=2;y<=b;y++){
if(a%y==0&&b%y==0){
return ;
}
}
arr[c].aarr[1]=a;
arr[c].aarr[2]=b;
c++;
return ;
}
int main()
{
int n,j,t=0,x=0;
scanf("%d",&n);
printf("0/1\n");
for(i=1;i<=n;i++){
arr[i].ja=i;
arr[i].mo=i;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
giyak(j,n-t);
}
t++;
}
for(i=1;i<c;i++){
for(j=1;j<=c-i;j++){
if((arr[j].aarr[1]*arr[j+1].aarr[2])>(arr[j+1].aarr[1]*arr[j].aarr[2])){
temp= arr[j];
arr[j]=arr[j+1];
arr[j+1]= temp;
x++;
}
}
if(x==0){
break;
}
}
for(i=1;i<=c-1;i++){
printf("%d/%d\n",arr[i].aarr[1],arr[i].aarr[2]);
}
printf("1/1");
return 0;
}
*/
#include <stdio.h>
int i;
typedef struct{
char str[11]
}bistr;
bistr arr[10001],temp;
int main()
{
int n;
scanf("%d",n);
for(i=1;i<=n;i++){
scanf("%s",arr[i].str);
}
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
if()
}
}
}
strcmp("aaa","bbb") ==0 같은문자열일때
if(strcmp(str,str1)>0) 사전식 반대순서
if(strcmp(str,str1)<0) 사전식 순서대로
0
0
4
dmw2013
2024년 4월 24일
In 소스 코드 제출
/*
#include <stdio.h>
typedef struct{
int name;
int math;
int inform;
}score;
score sarr[1001];
int n;
void view()
{
for(int i=1;i<=n;i++){
printf("%d %d %d\n",sarr[i].name,sarr[i].math,sarr[i].inform);
}
printf("\n");
}
int main()
{
score temp;
int i,j,m,t=1,x;
char tem;
scanf("%d",&n);
for(i=1;i<=n;i++){
sarr[i].name=i;
scanf("%d %d",&sarr[i].math,&sarr[i].inform);
}
for(i=1; i<n; i++)
{
for(j=1;j<=n-i;j++)
{
if (sarr[j].math < sarr[j+1].math)
{
temp = sarr[j];
sarr[j] = sarr[j+1];
sarr[j+1] = temp;
x++;
}
else if(sarr[j].math == sarr[j+1].math)
{
if(sarr[j].inform < sarr[j+1].inform)
{
temp = sarr[j];
sarr[j] = sarr[j+1];
sarr[j+1] = temp;
x++;
}
else if(sarr[j].inform == sarr[j+1].inform)
{
if(sarr[j].name>sarr[j+1].name)
{
temp = sarr[j];
sarr[j] = sarr[j+1];
sarr[j+1] = temp;
x++;
}
}
}
}
}
for(i=1;i<=n;i++){
printf("%d %d %d\n",sarr[i].name,sarr[i].math,sarr[i].inform);
}
return 0;
}
memo[i] : i가 입력된 횟수
memo[0] memo[1] ... memo[10만]
0 0 0
*/
#include <stdio.h>
int memo[100001]={};
int n, i, j, temp, key,m;
int main() {
scanf("%d", &n);
for (i = 0; i <= n-1; i++){
scanf("%d",&m);
memo[m]++;
}
for (i=0; i<=100001; i++){
if(memo[i]>=1){
for(j=1;j<=memo[i];j++){
printf("%d ",i);
}
}
}
return 0;
}
0
0
3
dmw2013
2024년 4월 17일
In 소스 코드 제출
/*
#include <stdio.h>
int a[10001];
int b[10001];
int n, i, j, temp,x;
int main() {
scanf("%d", &n);
for (i=1; i<=n; i++)
scanf("%d", &a[i]);
for(i=1; i<n; i++)
{
for(j=1;j<=n-i;j++)
{
if (a[j] < a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (i = 1; i <= n; i++)
printf("%d ", a[i]);
return 0;
}
#include <stdio.h>
int a[10001];
int b[10001];
int n, i, j, temp,x=0;
int main() {
for (i=1; i<=7; i++)
scanf("%d", &a[i]);
for(i=1; i<7; i++)
{
for(j=1;j<=7-i;j++)
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
x++;
}
}
if(x==0){
break;
}
x=0;
}
printf("%d\n%d",a[7],a[6]);
return 0;
}
#include <stdio.h>
int a[10001];
int n, i, j, temp, min;
int main() {
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=1; i<n; i++) {
min=i;
for (j=i+1; j<=n; j++) {
if(a[j]>a[min]){
min=j;
}
}
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
for (i=1; i<=n; i++)
printf("%d ", a[i]);
return 0;
}
*/
#include <stdio.h>
#include <string.h>
typedef struct{
int score;
char str[101];
}name;
int main()
{
name sarr[101],temp;
int n,i,j,m,t=1,x;
char tem;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++){
scanf("%s %d",sarr[i].str,&sarr[i].score);
}
for(i=1; i<n; i++)
{
for(j=1;j<=n-i;j++)
{
if (sarr[j].score < sarr[j+1].score)
{
temp = sarr[j];
sarr[j] = sarr[j+1];
sarr[j+1] = temp;
x++;
}
}
if(x==0){
break;
}
x=0;
}
for(i=1;i<=m;i++){
printf("%s\n",sarr[i].str);
}
return 0;
}
0
0
2
dmw2013
2024년 4월 03일
In 소스 코드 제출
#include <stdio.h>
int main()
{
int i,j,n,x,y,x1,y1,x2,y2,x3,y3,k=1,sum=0;
scanf("%d %d %d %d",&x,&y,&x1,&y1);
scanf("%d %d %d %d",&x2,&y2,&x3,&y3);
if((x1==x2&&y==y3)||(x1==x2&&y1==y2)||(x==x3&&y==y3)||(x==x3&&y1==y2)){
printf("POINT");
}
else if((x1==x2&&y1>=y2&&y3>=y)
||(y==y3&&x1>=x2&&x<=x3)
||(y1==y2&&x1>=x2&&x<=x3)
||(x==x3&&y1>=y2&&y3>=y)){
printf("LINE");
}
else if((x1=x2&&y1<=y2&&y3<=y)||(y>=y3&&x1<=x2&&x<=x3)||(y1>=y2&&x1<=x2&&x<=x3)||(x>=x3&&y1<=y2&&y3<=y)){
printf("NULL");
}
else{
printf("FACE");
}
return 0;
}
0
0
1
dmw2013
2024년 3월 27일
In 소스 코드 제출
/*
#include <stdio.h>
int queue[201]={};
int front=-1,back=-1;
void push(int x)
{
back++;
queue[back]=x;
}
void pop()
{
if(front==back){
}
else{
front++;
}
}
void ffront()
{
if(front==back){
printf("-1\n");
}
else{
printf("%d\n",queue[front+1]);
}
}
void fback()
{
if(front==back){
printf("-1\n");
}
else{
printf("%d\n",queue[back]);
}
}
void size()
{
printf("%d\n",back-front);
}
void empty()
{
if(front==back){
printf("true\n");
}
else{
printf("false\n");
}
}
int main()
{
int i,n,k;
char x;
char str[201]={};
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s",str);
if(str[1]=='u'){
scanf("%d %c",&k,&x);
push(k);
}
else if(str[1]=='r'){
ffront();
}
else if(str[1]=='a'){
fback();
}
else if(str[1]=='o'){
pop();
}
else if(str[1]=='i'){
size();
}
else if(str[1]=='m'){
empty();
}
else{
}
}
return 0;
}
#include <stdio.h>
int queue[200]={};
int front=-1,back=-1;
int min=100000;
int minp=0;
int pop_is_min=0;
void push(int x)
{
back++;
queue[back]=x;
if(min>x){
min=x;
minp=back;
}
}
void pop()
{
if(minp==front+1){
min=200000;
}
if(front!=back){
front++;
}
}
void minimum()
{
if(min!=200000)
printf("%d\n",min);
else
{
for(int i=front+1;i<=back;i++){
if(min>queue[i]){
min=queue[i];
}
}
printf("%d\n",min);
}
}
int main()
{
int i,n,k,j;
char str[201]={};
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s",str);
if(str[0]=='+'){
scanf("%d",&k);
push(k);
}
else if(str[0]=='-'){
pop();
}
else if(str[0]=='?'){
minimum();
}
else{
}
}
return 0;
}
*/
#include <stdio.h>
char stra[101]= {};
char strb[101]= {};
int answer[202]= {};
int topa=-1;
int topb=-1;
int atop=-1;
int p=0;
void push3(int a)
{
atop++;
answer[atop] = a;
}
int pop1()
{
if(topa==-1)
{
return 0;
}
else
{
return stra[topa--]-'0';
}
}
int fpop1()
{
if(topa==-1)
{
return 0;
}
else
{
return stra[topa]-'0';
}
}
int pop2()
{
if(topb==-1)
{
return 0;
}
else
{
return strb[topb--]-'0';
}
}
int fpop2()
{
if(topb==-1)
{
return 0;
}
else
{
return strb[topb]-'0';
}
}
int pop3()
{
if(atop!=-1)
{
printf("%d",answer[atop]);
atop--;
}
}
void plus(char c,char d)
{
int a;
pop1();
pop2();
a=c-'0'+d-'0'+p;
push3(a);
}
int main()
{
int i,a,b;
int num=0;
gets(stra);
gets(strb);
topa = strlen(stra)-1;
topb = strlen(strb)-1;
for(;;)
{
if(fpop1()-p - fpop2()<0){
if(p>1){
p++;
num = pop1()+9 - pop2();
}
else{
p=1;
num = pop1()+10 - pop2();
}
}
else{
num = pop1()-p - pop2();
p=0;
}
push3(num);
if(topa==-1 && topb==-1)
{
break;
}
}
while(atop!=-1){
pop3();
}
return 0;
}
0
0
1
dmw2013
2024년 3월 20일
In 소스 코드 제출
/*
#include <stdio.h>
char stra[101]= {};
char strb[101]= {};
int answer[202]= {};
int topa=-1;
int topb=-1;
int atop=-1;
int p=0;
void push3(int a)
{
atop++;
answer[atop] = a;
}
int pop1()
{
if(topa==-1)
{
return 0;
}
else
{
return stra[topa--]-'0';
}
}
int pop2()
{
if(topb==-1)
{
return 0;
}
else
{
return strb[topb--]-'0';
}
}
int pop3()
{
if(atop!=-1)
{
printf("%d",answer[atop]);
atop--;
}
}
void plus(char c,char d)
{
int a;
pop1();
pop2();
a=c-'0'+d-'0'+p;
push3(a);
}
int main()
{
int i,a,b;
int num=0;
gets(stra);
gets(strb);
topa = strlen(stra)-1;
topb = strlen(strb)-1;
for(;;)
{
num = pop1() + pop2() + p;
push3(num%10);
p = num/10;
if(topa==-1 && topb==-1)
{
break;
}
}
if(p==1){
printf("1");
}
while(atop!=-1){
pop3();
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char str[50001]={};
int a=0,i;
gets(str);
for(i=0; str[i]!=NULL; i++)
{
if(str[i]=='(')
{
a++;
}
else if(str[i]==')')
{
if(a==0)
{
printf("bad");
return 0;
}
a--;
}
}
if(a==0){
printf("good");
}
else{
printf("bad");
}
return 0;
}
*/
#include <stdio.h>
#include <string.h>
int main()
{
char str[100001];
int i,a=0,b,n=0;
gets(str);
for(i=0; str[i]!=NULL; i++){
if(str[i]=='('){
if(str[i+1]==')'){
n=n+a;
i++;
}
else{
a++;
}
}
else{
a--;
}
}
printf("%d",n);
}
0
0
2
dmw2013
2024년 3월 13일
In 소스 코드 제출
//#include <stdio.h>
//int top=-1,p;
//int stack[1000001];
//void push(int a)
//{
// top++;
// stack[top]=a;
//}
//void pop()
//{
// if(top!=-1){
// top--;
// }
//
//}
//int main()
//{
// long long int n,k,i,sum=0;
// scanf("%lld",&k);
// for(i=1;i<=k;i++){
// scanf("%lld",&n);
// if(n==0){
// pop();
// }
// else{
// push(n);
// }
// }
// for(i=0;i<=top;i++){
// sum=sum+stack[i];
// }
// printf("%lld",sum);
// return 0;
//}
/*
#include <stdio.h>
int top = -1, p;
int stack[1001];
void push(int a)
{
top++;
stack[top] = a;
}
void pop()
{
if(top!=-1){
printf("%d", stack[top]);
top--;
}
}
int main()
{
char str[201];
int i, k;
scanf("%d", &k);
scanf("%s", str);
for (i=k-1;i>=0; i--)
{
push(str[i] - '0');
}
while (top != -1)
{
pop();
if (top % 3 == 2)
{
printf(",");
}
}
return 0;
}
#include <stdio.h>
int top = -1, p;
int stack[1001];
void push(int a)
{
top++;
stack[top] = a;
}
void pop()
{
if(top!=-1){
top--;
}
}
void ftop()
{
if(top==-1){
printf("-1\n");
}
else{
printf("%d\n",stack[top]);
}
}
void size()
{
printf("%d\n",top+1);
}
void empty()
{
if(top<=-1){
printf("true\n");
}
else{
printf("false\n");
}
}
int main()
{
int i,n,k;
char x;
char str[201]={};
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s",str);
if(str[1]=='u'){
scanf("%d %c",&k,&x);
push(k);
}
else if(str[0]=='t'){
ftop();
}
else if(str[0]=='p'){
pop();
}
else if(str[2]=='z'){
size();
}
else if(str[1]=='m'){
empty();
}
else{
}
}
return 0;
}
*/
#include <stdio.h>
int top = -1, p;
int stack[1001];
char str[201]={};
void push(int a)
{
top++;
stack[top] = a;
}
void pop()
{
if(top!=-1){
top--;
}
}
int add()
{
int sum=0;
return sum;
}
void plus(int a,int b)
{
pop();
pop();
push(a+b);
}
void minus(int a,int b)
{
pop();
pop();
push(a-b);
}
void times(int a,int b)
{
pop();
pop();
push(a*b);
}
void main()
{
int i,a=0;
gets(str);
for(i=0;str[i]!=NULL;i++){
if(str[i]=='+'){
plus(stack[top],stack[top-1]);
}
else if(str[i]=='-'){
minus(stack[top],stack[top-1]);
}
else if(str[i]=='*'){
times(stack[top],stack[top-1]);
}
else if(str[i]!=' '){
a=a*10+(str[i]-'0');
if(str[i+1]== ' '){
push(a);
a=0;
}
}
}
printf("%d",stack[top]);
//printf("%d",add());
}
//#include <stdio.h>
//int top=-1,p;
//int stack[1000001];
//void push(int a)
//{
// top++;
// stack[top]=a;
//}
//void pop()
//{
// if(top!=-1){
// top--;
// }
//
//}
//int main()
//{
// long long int n,k,i,sum=0;
// scanf("%lld",&k);
// for(i=1;i<=k;i++){
// scanf("%lld",&n);
// if(n==0){
// pop();
// }
// else{
// push(n);
// }
// }
// for(i=0;i<=top;i++){
// sum=sum+stack[i];
// }
// printf("%lld",sum);
// return 0;
//}
/*
#include <stdio.h>
int top = -1, p;
int stack[1001];
void push(int a)
{
top++;
stack[top] = a;
}
void pop()
{
if(top!=-1){
printf("%d", stack[top]);
top--;
}
}
int main()
{
char str[201];
int i, k;
scanf("%d", &k);
scanf("%s", str);
for (i=k-1;i>=0; i--)
{
push(str[i] - '0');
}
while (top != -1)
{
pop();
if (top % 3 == 2)
{
printf(",");
}
}
return 0;
}
#include <stdio.h>
int top = -1, p;
int stack[1001];
void push(int a)
{
top++;
stack[top] = a;
}
void pop()
{
if(top!=-1){
top--;
}
}
void ftop()
{
if(top==-1){
printf("-1\n");
}
else{
printf("%d\n",stack[top]);
}
}
void size()
{
printf("%d\n",top+1);
}
void empty()
{
if(top<=-1){
printf("true\n");
}
else{
printf("false\n");
}
}
int main()
{
int i,n,k;
char x;
char str[201]={};
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s",str);
if(str[1]=='u'){
scanf("%d %c",&k,&x);
push(k);
}
else if(str[0]=='t'){
ftop();
}
else if(str[0]=='p'){
pop();
}
else if(str[2]=='z'){
size();
}
else if(str[1]=='m'){
empty();
}
else{
}
}
return 0;
}
*/
#include <stdio.h>
int top = -1, p;
int stack[1001];
char str[201]={};
void push(int a)
{
top++;
stack[top] = a;
}
void pop()
{
if(top!=-1){
top--;
}
}
int add()
{
int sum=0;
return sum;
}
void plus(int a,int b)
{
pop();
pop();
push(a+b);
}
void minus(int a,int b)
{
pop();
pop();
push(a-b);
}
void times(int a,int b)
{
pop();
pop();
push(a*b);
}
void main()
{
int i,a=0;
gets(str);
for(i=0;str[i]!=NULL;i++){
if(str[i]=='+'){
plus(stack[top],stack[top-1]);
}
else if(str[i]=='-'){
minus(stack[top],stack[top-1]);
}
else if(str[i]=='*'){
times(stack[top],stack[top-1]);
}
else if(str[i]!=' '){
a=a*10+(str[i]-'0');
if(str[i+1]== ' '){
push(a);
a=0;
}
}
}
printf("%d",stack[top]);
//printf("%d",add());
}
0
0
4
dmw2013
2024년 3월 06일
In 소스 코드 제출
//#include <stdio.h>
//
//#include <string.h>
//
//#include <windows.h>
//
//#include <Windows.h>
//
//#define LEFT 75
//
//#define RIGHT 77
//
//#define UP 72
//
//#define DOWN 80
//
//int x=15, y=15,i,j,x1,y1,dx,dy,s,l=0,level=1;
//
//void textcolor(int colorNum) {
//
// SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
//
//}
//
//void setup()
//
//{
//
//int i,j,s;
//
// system("cls");
//
// gotoxy(0,0);
//
// for(i=1;i<=10;i++){
//
// for(j=1;j<=15;j++){
//
// if(i==1||j==1||j==15){
//
// printf("*");
//
// }
//
// else if(i==6&&j==5){
//
// textcolor(9);
//
// printf("*");
//
// textcolor(7);
//
// }
//
// else{
//
// printf(" ");
//
// }
//
// }
//
// printf("\n");
//
// }
//
// s=17;
//
// gotoxy(17,0);
//
// for(i=1;i<=10;i++){
//
// for(j=1;j<=15;j++){
//
// if(i==1||j==1||j==15){
//
// printf("*");
//
// }
//
// else if(i==6&&j==5){
//
// textcolor(9);
//
// printf("*");
//
// textcolor(7);
//
// }
//
// else{
//
// printf(" ");
//
// }
//
// }
//
// gotoxy(s,i);
//
// }
//
//}
//
//void gotoxy(int x, int y)
//
//{
//
// COORD Pos = {x, y};
//
// SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
//
//}
//
//void print_front()
//
//{
//
// char str[50] = "L O A D I N G . . . ";
//
// for(int i=0;str[i]!=NULL;i++)
//
// {
//
// printf("%c",str[i]);
//
// Sleep(250);
//
// }
//
//}
//
//int main()
//
//{
//
// srand(time(NULL));
//
// char c;
//
// int size=1;
//
// gotoxy(5,6);
//
// printf("glass bridge game");
//
// gotoxy(5,10);
//
// print_front();
//
// setup();
//
// gotoxy(20,15);
//
// if(rand()%2==0){
//
// x1=4;
//
// y1=5;
//
// dx=21;
//
// dy=5;
//
// }
//
// else{
//
// x1=21;
//
// y1=5;
//
// dx=4;
//
// dy=5;
//
// }
//
// while (1)
//
// {
//
// if (_kbhit()) // 2. while문안에서 키보드 눌렸을 시 if문이 실행된다.
//
// {
//
// c = _getch(); // 3. 방향키가 입력됬을 때 224 00 이 버퍼에 있다. 224부터 빼준다.
//
// if (c == -32) // 4. -32로 입력되면
//
// {
//
// c = _getch();// 5. 뒤의 값 00을 판별하여 좌우상하 출력
//
// gotoxy(x,y);
//
// printf(" ");
//
// switch (c)
//
// {
//
// case LEFT:
//
// if(x-1==0||(x-1==17&&y<10)||(x-1==14&&y<10)||(x-1==31&&y<10))
//
// {
//
// }
//
// else{
//
// x=x-size;
//
// }
//
// break;
//
// case RIGHT:
//
// if((x+1==17&&y<10)||(x+1==14&&y<10)||(x+1==31&&y<10))
//
// {
//
// }
//
// else{
//
// x=x+size;
//
// }
//
// break;
//
// case UP:
//
// if((x==17&&y-1<10)||(x==14&&y-1<10)||(x==31&&y-1<10)||y==1)
//
// {
//
// }
//
// else{
//
// y=y-size;
//
// }
//
// break;
//
// case DOWN:
//
// if(y<48)
//
// {
//
// y=y+size;
//
// }
//
// break;
//
// }
//
// if(x==x1&&y==y1){
//
// setup();
//
// x=15;
//
// y=15;
//
// if(rand()%2==0){
//
// x1=4;
//
// y1=5;
//
// dx=21;
//
// dy=5;
//
// }
//
// else{
//
// x1=21;
//
// y1=5;
//
// dx=4;
//
// dy=5;
//
// }
//
// l++;
//
// }
//
// if(l==6){
//
// printf("you win!\n");
//
// printf("play again?(1=yes,0=no)");
//
// scanf("%d",&s);
//
// if(s==1){
//
// setup();
//
// l=0;
//
// x=15;
//
// y=15;
//
// }
//
// else{
//
// break;
//
// }
//
// }
//
// if(x==dx&&y==dy){
//
// system("cls");
//
// gotoxy(5,5);
//
// printf("Game over: wrong glass\n");
//
// printf("your score: %d \n",l);
//
// printf("play again?(1=yes,0=no)");
//
// scanf("%d",&s);
//
// if(s==1){
//
// setup();
//
// l=0;
//
// x=15;
//
// y=15;
//
// }
//
// else{
//
// break;
//
// }
//
// }
//
// gotoxy(x,y);
//
// printf("#");
//
// gotoxy(40,5);
//
// printf("score: %d",l);
//
// gotoxy(41,6);
//
// }
// }
//
// }
//
//}
/*
#include <stdio.h>
#include <windows.h>
int stack[100]={}; // 정수를 100개 저장할 수 있는 스택 선언
int top=-1,p;// top: 마지막 데이터의 위치
void push(int p)
{
top++;
stack[top]=p;
}
void pop()
{
if(top==-1)
{
printf("error");
return ;
}
printf("%d",stack[top]);
top--;
}
int main()
{
int a, b, c, d,i;
while(1)
{
printf("1. push 2. pop 3. pop all >>");
scanf("%d",&a);
if(a==1)
{
//printf("push할 데이터를 입력하세요>>");
printf("select data to push>>");
scanf("%d",&b);
push(b);
}
else if(a==2)
{
// printf("pop한 데이터는 ");
// pop();
// printf("입니다\n");
printf("the popped data is: ");
pop();
printf("\n");
}
else{
// printf("처리중... ");
printf("processing...");
Sleep(3000);
while(top!=-1){
pop();
printf(" ");
}
printf("\n");
}
}
return 0;
}
#include <stdio.h>
int top=-1,p;
int stack[1001];
void push(int a)
{
top++;
stack[top]=a;
}
void pop()
{
printf("%d",stack[top]);
top--;
}
int main()
{
int n,a,i;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
push(a);
}
while(top!=-1){
pop();
printf(" ");
}
return 0;
}
#include <stdio.h>
int top=-1,p;
char stack[1001];
void push(int a)
{
top++;
stack[top]=a;
}
void pop()
{
printf("%c",stack[top]);
top--;
}
int main()
{
char str[100];
int i;
gets(str);
for(i=0;str[i]!=NULL;i++){
push(str[i]);
}
while(top!=-1){
pop();
}
}
*/
#include <stdio.h>
0
0
5
dmw2013
2024년 3월 02일
In 소스 코드 제출
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <Windows.h>
#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
int x=15, y=15,i,j,x1,y1,dx,dy,s,l=1,level=1;
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void setup()
{
int i,j,s;
system("cls");
gotoxy(0,0);
for(i=1;i<=10;i++){
for(j=1;j<=15;j++){
if(i==1||j==1||j==15){
printf("*");
}
else if(i==6&&j==5){
textcolor(9);
printf("*");
textcolor(7);
}
else{
printf(" ");
}
}
printf("\n");
}
s=17;
gotoxy(17,0);
for(i=1;i<=10;i++){
for(j=1;j<=15;j++){
if(i==1||j==1||j==15){
printf("*");
}
else if(i==6&&j==5){
textcolor(9);
printf("*");
textcolor(7);
}
else{
printf(" ");
}
}
gotoxy(s,i);
}
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
void print_front()
{
char str[50] = "L O A D I N G . . . ";
for(int i=0;str[i]!=NULL;i++)
{
printf("%c",str[i]);
Sleep(250);
}
}
int main()
{
srand(time(NULL));
char c;
int size=1;
gotoxy(5,6);
printf("glass bridge game");
gotoxy(5,10);
print_front();
setup();
gotoxy(20,15);
if(rand()%2==0){
x1=4;
y1=5;
dx=21;
dy=5;
}
else{
x1=21;
y1=5;
dx=4;
dy=5;
}
while (1)
{
if (_kbhit()) // 2. while문안에서 키보드 눌렸을 시 if문이 실행된다.
{
c = _getch(); // 3. 방향키가 입력됬을 때 224 00 이 버퍼에 있다. 224부터 빼준다.
if (c == -32) // 4. -32로 입력되면
{
c = _getch();// 5. 뒤의 값 00을 판별하여 좌우상하 출력
gotoxy(x,y);
printf(" ");
switch (c)
{
case LEFT:
if(x-1==0||(x-1==17&&y<10)||(x-1==14&&y<10)||(x-1==31&&y<10))
{
}
else{
x=x-size;
}
break;
case RIGHT:
if((x+1==17&&y<10)||(x+1==14&&y<10)||(x+1==31&&y<10))
{
}
else{
x=x+size;
}
break;
case UP:
if((x==17&&y-1<10)||(x==14&&y-1<10)||(x==31&&y-1<10))
{
}
else{
y=y-size;
}
break;
case DOWN:
if(y<48)
{
y=y+size;
}
break;
}
if(x==x1&&y==y1){
setup();
x=15;
y=15;
if(rand()%2==0){
x1=4;
y1=5;
dx=21;
dy=5;
}
else{
x1=21;
y1=5;
dx=4;
dy=5;
}
l++;
}
if(l==6){
printf("you win!\n");
printf("play again?(1=yes,0=no)");
scanf("%d",&s);
if(s==1){
setup();
l=0;
x=15;
y=15;
}
else{
break;
}
}
if(x==dx&&y==dy){
system("cls");
gotoxy(5,5);
printf("Game over: wrong glass\n");
printf("your score: %d \n",l);
printf("play again?(1=yes,0=no)");
scanf("%d",&s);
if(s==1){
setup();
l=0;
x=15;
y=15;
}
else{
break;
}
}
gotoxy(x,y);
printf("#");
gotoxy(40,5);
printf("score: %d",l);
gotoxy(41,6);
}
}
}
}
0
0
2
dmw2013
2024년 2월 28일
In 소스 코드 제출
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <Windows.h>
#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
int x=15, y=15,i,j,x1,y1,dx,dy,s,l=1,level=1;
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void setup()
{
int i,j,s;
system("cls");
gotoxy(0,0);
for(i=1;i<=10;i++){
for(j=1;j<=15;j++){
if(i==1||j==1||j==15){
printf("*");
}
else if(i==6&&j==5){
textcolor(9);
printf("*");
textcolor(7);
}
else{
printf(" ");
}
}
printf("\n");
}
s=17;
gotoxy(17,0);
for(i=1;i<=10;i++){
for(j=1;j<=15;j++){
if(i==1||j==1||j==15){
printf("*");
}
else if(i==6&&j==5){
textcolor(9);
printf("*");
textcolor(7);
}
else{
printf(" ");
}
}
gotoxy(s,i);
}
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
void print_front()
{
char str[50] = "L O A D I N G . . . ";
for(int i=0;str[i]!=NULL;i++)
{
printf("%c",str[i]);
Sleep(250);
}
}
int main()
{
srand(time(NULL));
char c;
int size=1;
gotoxy(5,6);
printf("glass bridge game");
gotoxy(5,10);
print_front();
setup();
gotoxy(20,15);
if(rand()%2==0){
x1=4;
y1=5;
dx=21;
dy=5;
}
else{
x1=21;
y1=5;
dx=4;
dy=5;
}
while (1)
{
if (_kbhit()) // 2. while문안에서 키보드 눌렸을 시 if문이 실행된다.
{
c = _getch(); // 3. 방향키가 입력됬을 때 224 00 이 버퍼에 있다. 224부터 빼준다.
if (c == -32) // 4. -32로 입력되면
{
c = _getch();// 5. 뒤의 값 00을 판별하여 좌우상하 출력
gotoxy(x,y);
printf(" ");
switch (c)
{
case LEFT:
if(x>1||x>17)
{
x=x-size;
}
break;
case RIGHT:
if(x<1||x>17)
{
x=x+size;
}
break;
case UP:
if(y>1)
{
y=y-size;
}
break;
case DOWN:
if(y<48)
{
y=y+size;
}
break;
}
if(x==x1&&y==y1){
setup();
x=15;
y=15;
if(rand()%2==0){
x1=4;
y1=5;
dx=21;
dy=5;
}
else{
x1=21;
y1=5;
dx=4;
dy=5;
}
l++;
}
if(l==6){
printf("you win!\n");
printf("play again?(1=yes,0=no)");
scanf("%d",&s);
if(s==1){
setup();
l=0;
x=15;
y=15;
}
else{
break;
}
}
if(x==dx&&y==dy){
system("cls");
gotoxy(5,5);
printf("Game over: wrong glass\n");
printf("your score: %d \n",l);
printf("play again?(1=yes,0=no)");
scanf("%d",&s);
if(s==1){
setup();
l=0;
x=15;
y=15;
}
else{
break;
}
}
gotoxy(x,y);
printf("#");
gotoxy(40,5);
printf("score: %d",l);
}
}
}
}
0
0
3
dmw2013
2024년 2월 21일
In 소스 코드 제출
#include <stdio.h>
#include <windows.h>
#include <Windows.h>
#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
int x=5, y=5,i,j,x1=0,y1=0,dx,dy,points=0,l=4,level=1;
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
void map()
{
gotoxy(0,0);
for(i=1; i<=49; i++)
{
for(j=1; j<=49; j++)
{
if(i!=0||i!=49||j!=0||j!=49)
{
printf(" ");
}
}
printf("\n");
}
}
void place(a,b)
{
gotoxy(a,b);
textcolor(10);
printf("0");
textcolor(15);
x1=a;
y1=b;
}
void placetrap(a,b)
{
for(i=1;i<=l;i++){
gotoxy(a,b);
textcolor(2);
printf("0");
textcolor(15);
dx=a;
dy=b;
}
}
void setup()
{
gotoxy(0,0);
for(i=1; i<=50; i++)
{
for(j=1; j<=50; j++)
{
if(i==0||i==50||j==0||j==50)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
// 1. 매크로로 좌우상하를 설정한다.
int main(void)
{
srand(time(NULL));
char c;
int size=1;
setup();
gotoxy(0,0);
for(i=1; i<=50; i++)
{
for(j=1; j<=50; j++)
{
if(i==0||i==50||j==0||j==50)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
gotoxy(10,10);
while (1)
{
if (_kbhit()) // 2. while문안에서 키보드 눌렸을 시 if문이 실행된다.
{
c = _getch(); // 3. 방향키가 입력됬을 때 224 00 이 버퍼에 있다. 224부터 빼준다.
if (c == -32) // 4. -32로 입력되면
{
c = _getch();// 5. 뒤의 값 00을 판별하여 좌우상하 출력
gotoxy(x,y);
printf(" ");
switch (c)
{
case LEFT:
if(x>0)
{
x=x-size;
}
break;
case RIGHT:
if(x<48)
{
x=x+size;
}
break;
case UP:
if(y>0)
{
y=y-size;
}
break;
case DOWN:
if(y<48)
{
y=y+size;
}
break;
}
gotoxy(x,y);
printf("#");
if(x==x1&&y==y1){
place(rand()%48,rand()%48);
points++;
gotoxy(dx,dy);
printf(" ");
placetrap(rand()%48,rand()%48);
}
else if(points==level*10){
system("cls");
gotoxy(10,10);
printf("Level complete!");
printf("\n loading level %d...",level+1);
Sleep(4000);
gotoxy(10,11);
printf("loading complete");
Sleep(1000);
system("cls");
setup();
}
else if(x==dx&&y==dy){
l=l-1;
if(l<2){
system("cls");
gotoxy(10,10);
printf("Game over!\npoints : %d",points);
break;
}
}
else{
placetrap(dx,dy);
place(x1,y1);
}
gotoxy(52,30);
printf("x : %d y :%d",x,y);
gotoxy(52,31);
printf("points : %d",points);
gotoxy(52,32);
for(i=1;i<=l;i++){
printf(" ");
}
gotoxy(52,32);
for(i=1;i<=l-1;i++){
textcolor(12);
printf("♥");
textcolor(15);
}
}
}
}
//♡♥
Sleep(1000);
return 0;
}
0
0
3
dmw2013
2024년 2월 07일
In 소스 코드 제출
/*
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <Windows.h>
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
int main()
{
char str[101];
int n,i,j;
scanf("%d",&n);
srand(time(NULL));
for(i=3;i<n+3;i++){
for(j=1;j<=250;j++){
int a = j;
int b = i;
gotoxy(a,b);
textcolor(j%16);
printf("o");
Sleep(1);
}
printf("\n");
}
}
*/
/**
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <Windows.h>
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
int main()
{
char p;
int x=5, y=5;
while(1)
{
gotoxy(10,10);
scanf("%c",&p);
if(p=='a')
{
x=x-10; //왼쪽으로 이동
}
else if(p=='d')
{
x=x+10; //오른쪽으로 이동
}
if(p=='w')
{
y=y-10;
}
if(p=='s')
{
y=y+10;
}
system("cls");
gotoxy(x,y);
printf("#");
Sleep(100);
}
}
**/
#include <stdio.h>
#include <windows.h>
#include <Windows.h>
#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
int x=5, y=5,i,j;
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
void map()
{
gotoxy(0,0);
for(i=1; i<=49; i++)
{
for(j=1; j<=49; j++)
{
if(i!=0||i!=49||j!=0||j!=49)
{
printf(" ");
}
}
printf("\n");
}
}
// 1. 매크로로 좌우상하를 설정한다.
int main(void)
{
char c;
int size=1;
gotoxy(0,0);
for(i=1; i<=50; i++)
{
for(j=1; j<=50; j++)
{
if(i==1||i==50||j==1||j==50)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
gotoxy(10,10);
while (1)
{
if (_kbhit()) // 2. while문안에서 키보드 눌렸을 시 if문이 실행된다.
{
c = _getch(); // 3. 방향키가 입력됬을 때 224 00 이 버퍼에 있다. 224부터 빼준다.
if (c == -32) // 4. -32로 입력되면
{
c = _getch();// 5. 뒤의 값 00을 판별하여 좌우상하 출력
switch (c)
{
case LEFT:
if(x>1)
{
x=x-size;
}
break;
case RIGHT:
if(x<48)
{
x=x+size;
}
break;
case UP:
if(y>1)
{
y=y-size;
}
break;
case DOWN:
if(y<48)
{
y=y+size;
}
break;
}
map();
gotoxy(x,y);
printf("#");
gotoxy(52,30);
printf("x : %d y :%d",x,y);
}
}
}
return 0;
}
0
0
5
dmw2013
2024년 2월 04일
In 소스 코드 제출
/*
#include <stdio.h>
int main()
{
int a=10;
int* pa = &a;
printf("a : %d\n",a);
printf("&a : %d\n",&a);
printf("pa : %d\n",pa);
printf("*pa : %d\n",*pa);
*pa=50;
printf("*pa : %d\n",*pa); // 간접 참조 연산자
printf("a : %d\n",a); // 직접 참조 연산자
return 0;
}
#include <stdio.h>
//void f(int* pa)
//{
// *pa=50;
//}
void f(int* pa, int n)
{
// *pa -> a[0]
// *(pa+1) -> a[1]
// ...
// *(pa+i) -> a[i]
for(int i=0;i<n;i++)
printf("%d ",*(pa+i));
}
int main()
{
int a[1000]={};
int n=10;
//f(&a[0]); (ok)
//f(a); (ok)
for(int i=0;i<n;i++) a[i]=i;
f(a,n); // 0번째 원소의 주소 , 길이 전달
// char str[50]="hello";
//
// scanf("%s",str); // str = &str[0]
//
// int a=10;
// printf("a : %d\n",a);
// f(&a);
// printf("a : %d\n",a);
return 0;
}
#include <stdio.h>
void myswap(int* pa,int* pb)
{
int n;
n=*pb;
if(*pa>*pb){
pb=pa;
*pa=n;
}
}
main()
{
int a, b;
scanf("%d%d", &a, &b);
myswap(&a, &b);
printf("%d %d", a, b);
}
*/
/*
#include <stdio.h>
void f(char* str, int a,int b)
{
for(int i=a-1;i<b;i++){
printf("%c",str[i]);
}
}
int main()
{
char str[101]={};
int a,b;
gets(str);
scanf("%d %d",&a,&b);
f(str,a,b);
}
#include <stdio.h>
char* mysubstr(char *str,int start,int count)
{
str[start+count]=0;
return &str[start];
}
int main()
{
int s,c;
char str[101];
gets(str);
scanf("%d %d",&s,&c);
printf("%s",mysubstr(str,s,c));
}
#include <stdio.h>
#include <windows.h>
#include <Windows.h>
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
int main()
{
for(int i=0;i<16;i++){
//gotoxy(5,5); // 출력할 위치 지정하기
textcolor(i); // 0 ~15까지 글자 색상 지정하기
gotoxy(i,i);
printf("#");
//printf("안녕 민우야");
Sleep(1); // 1초 1000 , 0.5초 500
// system("cls"); // 다 지우기
// Sleep(1000);
}
return 0;
}
rand() : 0 ~ 32767
rand()%10 : 0 ~9
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <Windows.h>
void textcolor(int colorNum) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
void gotoxy(int x, int y)
{
COORD Pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
int main()
{
char str[101];
int n,i;
gets(str);
scanf("%d",&n);
srand(time(NULL));
for(i=3;i<n+3;i++){
int a = rand()%25;
int b = rand()%10;
gotoxy(a,b);
textcolor(i%16);
printf("%s",str);
Sleep(100);
}
}
*/
0
0
4
dmw2013
2024년 1월 31일
In 소스 코드 제출
//#include <stdio.h>
//#include <string.h>
//typedef struct{
// char str[101];
// int score;
// int rank;
//}result;
//int main()
//
//{
//
// result arr[101]={};
//
// int n,i,j,m,t=1;
//
// int cont[3]={};
//
// scanf("%d %d",&n,&m);
//
// for(i=1;i<=n;i++){
//
// scanf("%s %d",arr[i].str,&arr[i].score);
//
//
// }
//
// for(i=1;i<=n;i++){
//
// for(j=1;j<=n;j++){
//
// if(arr[j].score>arr[i].score){
//
// arr[i].rank=arr[i].rank+1;
//
// }
//
// }
//
// arr[i].rank++;
//
// }
//
// for(i=1;i<=m;i++){
//
// for(j=1;j<=n;j++){
// if(arr[j].rank==i){
// printf("%s\n",arr[j].str);
// t++;
// if(t-1==m){
// break;
// }
// }
// }
// }
// return 0;
//
//}
/*
#include <stdio.h>
#include <string.h>
typedef struct{
char str[101];
int fscore;
int sscore;
int tscore;
int frank;
int srank;
int thrank;
}result;
int main()
{
result arr[101]={};
int n,i,j,m,t=1,l;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s %d %d %d",arr[i].str,&arr[i].fscore,&arr[i].sscore,&arr[i].tscore);
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(arr[j].fscore>arr[i].fscore){
arr[i].frank=arr[i].frank+1;
}
}
arr[i].frank++;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(arr[j].sscore>arr[i].sscore){
arr[i].srank=arr[i].srank+1;
}
}
arr[i].srank++;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(arr[j].tscore>arr[i].tscore){
arr[i].thrank=arr[i].thrank+1;
}
}
arr[i].thrank++;
}
for(i=1;i<=n;i++){
if(arr[i].frank==1){
printf("%s %d %d",arr[i].str,arr[i].srank,arr[i].thrank);
}
}
return 0;
}
c언어 문법->
-> c 콘솔 활용 미니 게임
->c언어 활용 (자료구조 sooo hard..)스택,정렬,큐..
다른 언어 python, c++, java, ...
-> 유니티 c# (3d 게임 제작)
#include <stdio.h>
int main()
{
int b,n,y,m,d;
scanf("%d-%d",&b,&n);
if(n/1000000==1){
y=b/10000+1900;
m=b%10000/100;
d=b%100;
printf("%d/%02d/%02d M",y,m,d);
}
else if(n/1000000==2){
y=b/10000+1900;
m=b%10000/100;
d=b%100;
printf("%d/%02d/%02d F",y,m,d);
}
else if(n/1000000==3){
y=b/10000+2000;
m=b%10000/100;
d=b%100;
printf("%d/%02d/%02d M",y,m,d);
}
else{
y=b/10000+2000;
m=b%10000/100;
d=b%100;
printf("%d/%02d/%02d F",y,m,d);
}
return 0;
}
#include <stdio.h>
int main()
{
int a,b,c,n,i,j;
scanf("%d %d %d",&a,&b,&c);
if(b+c>=60){
b=b+c;
n=b/60;
b=b%(60*n);
a=(a+n)%24;
}
else{
b=b+c;
}
printf("%d %d",a,b);
return 0;
}
*/
#include <stdio.h>
int main()
{
int g,n;
char j;
scanf("%d",&n);
if(n%10<4){
g=n%10-4+12;
}
else{
g=n%10-4;
}
j=(n%12-3)+64;
printf("%c%d",j,g);
return 0;
}
0
0
3
dmw2013
2024년 1월 24일
In 소스 코드 제출
/*
#include <stdio.h>
#include <string.h>
void f(int n)
{
if(n==0){
return ;
}
f((n-1)/26);
printf("%c",(n-1)%26+65);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
구조체 struct : 내가 만드는 자료형
int a;
int arr[50];
학생 100명의 성적('A'~'F')과 나이(정수)를 관리하는 프로그램
BEFORE
char grade[100];
int age[100];
AFTER
// 1. 구조체 정의
typedef struct{
char grade;
int age;
}student;
int main()
{
student a;
a.grade='A';
a.age=10;
scanf("%c %d",&a.grade, &a.age);
student arr[100];
//arr[0] ~ arr[99]
}
#include <stdio.h>
int n;
typedef struct{
int rank;
int score;
}ranking;
int main()
{
int i,r,n,j,f;
ranking arr[201]={};
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&arr[i].score);
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(arr[j].score>arr[i].score){
arr[i].rank++;
}
}
arr[i].rank=arr[i].rank+1;
}
for(i=1;i<=n;i++){
printf("%d %d\n",arr[i].score,arr[i].rank);
}
}
*/
#include <stdio.h>
typedef struct{
int country;
int number;
int score;
int rank;
}result;
int main()
{
result arr[101]={};
int n,i,j;
int cont[3];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d %d %d",&arr[i].country,&arr[i].number,&arr[i].score);
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(arr[j].rank>arr[i].rank){
arr[i].rank++;
}
}
arr[i].rank++;
}
for(i=1;i<=n;i++){
if(arr[i].rank<3){
printf("%d %d\n",arr[i].country,arr[i].number);
cont[arr[i].rank]=arr[i].country;
}
}
if(cont[1]==cont[2]){
for(i=1;i<=n;i++){
if(arr[i].country==cont[1]){
arr[i].rank=99999;
}
}
}
for(i=1;i<=n;i++){
if(arr[i].rank==3){
printf("%d %d\n",arr[i].country,arr[i].number);
}
}
return 0;
}
0
0
3
dmw2013
2024년 1월 17일
In 소스 코드 제출
/*
#include <stdio.h>
int i,arr[15][15]={};
int supersum(int k,int n)
{
if(k==0){
return n;
}
else if(n==0){
return n;
}
else if(arr[k][n]!=0){
return arr[k][n];
}
return supersum(k,n-1)+supersum(k-1,n);
}
int main()
{
int k,n;
while( scanf("%d %d", &k, &n)!= EOF ){
printf("%d\n", supersum(k, n));
}
}
*/
#include <stdio.h>
#include <string.h>
void f(int n)
{
if(n/26==0){
printf("%c",n+65);
return ;
}
f(n/16);
printf("%c",n%16+65);
}
int main()
{
int n,i;
scanf("%d",&n);
f(n-1);
return 0;
}
0
0
2
dmw2013
2024년 1월 10일
In 소스 코드 제출
/*
#include <stdio.h>
void s(int n,int k) //십진수 n을 k진수로 바꿔요
{
if(n/k==0){
if(n%k>=10){
printf("%c",n+55);
return;
}
printf("%d",n%k);
return ;
}
s(n/k,k);
if(n%k>=10){
printf("%c",n%k+55);
}
else{
printf("%d",n%k);
}
}
int main()
{
int n,k;
scanf("%d %d",&n,&k);
s(n,k);
}
#include <stdio.h>
int arr[51][51]={};
int f(int r,int c)
{
if(arr[r][c]!=0){
return arr[r][c];
}
if(r==1||c==1){
return 1;
}
return arr[r][c]=(f(r-1,c)+f(r,c-1))%100000000;
}
int main()
{
int r,c;
scanf("%d",&r,&c);
printf("%d",f(r,c));
return 0;
}
#include <stdio.h>
int arr[201]={};
int f(int n)
{
if(arr[n]!=0){
return arr[n];
}
if(n==1||n==2){
return 1;
}
return arr[n]=(f(n-1)+f(n-2))%10009;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
#include <stdio.h>
int f(int n)
{
if(n==1){
return 1 ;
}
if(n%2==1){
n=n*3+1;
}
else{
n=n/2;
}
return f(n)+1;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
#include <stdio.h>
int f(int n)
{
if(n==1){
return 1;
}
if(n==2){
return 2;
}
if(n==3){
return 4;
}
return (f(n-1)+f(n-2)+f(n-3));
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
*/
#include <stdio.h>
int arr[26][26]={};
int r=1,c=1;
int p(int r,int c)
{
if(arr[r][c]!=0){
return arr[r][c];
}
if(r==1||c==1){
return 1;
}
return arr[r][c]=(f(r-1,c)+f(r,c-1));
}
void s(int n)
{
r=n;
if(n<1){
return ;
}
s(n-1);
printf("%d ",p(r,c));
}
void f(int n)
{
if(n==0){
return ;
}
f(n-1);
s(n);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
0
0
2
dmw2013
더보기
bottom of page