/*#include <stdio.h>
int main()
{
int a,b,c,d=0,n=0,e=0;
scanf("%d%d%d",&a,&b,&c);
n=b+c;
d=(a+n/60)%24;
e=n%60;
printf("%d %d",d,e);
return 0;
}
#include <stdio.h>
int arr[4][5]={};
int check(int x, int y)
{
//x번째 학생과 y번째 학생이 점수가 같음
int d = arr[x][3];
int e = arr[y][3];
//3점 비교
if(d>e) return x;
else if(d<e) return y;
//3점 갯수가 같다면 2점 갯수 비교
d=arr[x][2];
e=arr[y][2];
if(d>e) {
return x;
}
else if(e>d){
return y;
}
else
return 0;
//2점도 같다면
}
int main()
{
int i,n,a,b,c,d,e,f, win;
scanf("%d",&n);
for(i=1; i<=n; i++){
scanf("%d %d %d",&a, &b, &c);
arr[1][a]++;
arr[2][b]++;
arr[3][c]++;
}
for(i=1; i<=3; i++){
arr[i][4]=arr[i][1]+arr[i][2]*2+arr[i][3]*3;
}
a=arr[1][4]; b=arr[2][4]; c=arr[3][4];
d=arr[1][3]; e=arr[2][3]; f=arr[3][3];
if(a>b && a>c){
printf("1 %d",a);
}
else if(b>a && b>c){
printf("2 %d",b);
}
else if(c>a && c>b){
printf("3 %d",c);
}
else if(a==b && b!=c)
{
win=check(1,2);
printf("%d %d",win, a);
}
else if(b==c && a!=b)
{
win=check(2,3);
printf("%d %d",win,b);
}
else if(a==c && b!=c)
{
win=check(1,3);
printf("%d %d",win,c);
}
else //a==b==c
{
//printf("%d %d %d",d,e,f);
if(d>e &&d>f) printf("1");
else if(e>d && e>f) printf("2");
else if(f>d && f>e) printf("3");
else if(d==e) printf("%d",check(1,2));
else if(e==f) printf("%d",check(2,3));
else if(d==f) printf("%d",check(1,3));
else printf("0");
printf(" %d",a);
}
return 0;
}
자료구조 Data Structure
1. 정렬 sort
2. 스택 stack
3. 큐 queue
4. 트리 (x)
5. 연결리스트 (x)
6. 그래프 - dfs / bfs
스택 stack 쌓는거
#include <stdio.h>
int stack[50]={};
int top=-1;
//top :마지막 데이터의 위치 -1
void push(int n){ //위에 데이터를 쌓아라
if(top==49) return ; //스택이 가득찼을때 더이상 넣지 않도록 처리
stack[++top]=n;
}
int pop(){ //맨 위 데이터를 뺀다
//top==-1 : 스택이 비었을때 더이상 top이 감소하지 않도록 처리
if(top!=-1) return stack[top--];
}
void view(){ //stack 전부 출력
printf("stack >> ");
for(int i=0;i<=top;i++){
printf("%d ",stack[i]);
}
printf("\n");
}
int main()
{
push(5);
view();
printf("top = %d\n",top);
push(6);
view();
printf("top = %d\n",top);
pop();
view();
printf("top = %d\n",top);
pop();
view();
printf("top = %d\n",top);
pop();
view();
printf("top = %d\n",top);
}
#include <stdio.h>
char stack[1000]={};
int top=-1;
void push(char n){
if(top==999) return;
stack[++top]=n;
}
char pop(){
return stack[top--];
}
int main()
{
char str[101]={};
scanf("%s",str);
for(int i=0; str[i]!=0;i++){
push(str[i]);
}
while(top!=-1)
{
printf("%c",pop());
}
return 0;
}
*/