/*#include <stdio.h>
int main(){
int a,b,i,j;
scanf("%d",&a);
for(i=1;i<=a;i++){
for(j=i;j<a;j++){
printf(" ");
}
printf("*");
for(j=i-1;j>0;j--){
printf(" ");
}
printf("*");
printf("\n");
}
for(i=i-1;i>0;i--){
for(j=i;j<a;j++){
printf(" ");
}
printf("*");
for(j=i-1;j>0;j--){
printf(" ");
}
printf("*");
printf("\n");
}
}
*/
/*
#include <stdio.h>
int main(){
int a,b,i,j;
scanf("%d",&a);
for(i=1;i<=a;i++){
for(j=i;j<a;j++){
printf(" ");
}
for(j=1;j<=i*2-1;j++){
printf("*");
}
for(j=i;j<a;j++){
printf(" ");
}
printf("\n");
}
for(i=i-2;1<=i;i--){
for(j=i;j<a;j++){
printf(" ");
}
for(j=1;j<=i*2-1;j++){
printf("*");
}
for(j=i;j<a;j++){
printf(" ");
}
printf("\n");
}
}
int arr[n]; (x)
int* arr = (int*)malloc(sizeof(int)*n);
1차원 배열
1차원 선
2차원 면
3차원 입체
배열(array) : 여러개를 주르르르륵 나열한 것
1차원 + 배열 : 선 형태로 여러개를 주르르르르 나열한 것 ( 아파트 한 층 )
2차원 배열 : 아파트 한 동
#include <stdio.h>
int main()
{
int i, a, b, c, d, e;
int arr[50]={}; // arr[0] arr[1] arr[2] .... arr[49]
//for(i=0;i<10;i++)
for(i=1;i<=10;i++)
{
scanf("%d", &arr[i]);
}
for(i=10;i>=1;i--)
{
printf("%d ",arr[i]);
}
return 0;
}*/
/*
#include <stdio.h>
int main(){
int a[1000],b,c;
scanf("%d",&b);
for(int i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(int i=b-1;i>=0;i--){
printf("%d ",a[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
int main (){
int a[100],b,c,i;
scanf("%d",&b);
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(int j=0;j<2;j++){
for(i=0;i<b;i++){
printf("%d\n",a[i]);
}
}
return 0;
}
*/
/*
#include <stdio.h>
int main (){
int a[10],b,i;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
scanf("%d",&b);
printf("%d",a[b-1]);
return 0;
}*/
/*
#include <stdio.h>
int main (){
int a[1000],b,c,i,j,t,k;
scanf("%d",&b);
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(i=0;i<b;i++){
printf("%d: ",i+1);
for(j=0;j<b;j++){
if(j==i){
continue;
}
if(a[i]<a[j]){
printf("< ");
}
else if(a[i]==a[j]){
printf("= ");
}
else{
printf("> ");
}
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int main (){
int a[2000],b,c,i,j;
scanf("%d",&b);
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(i=0;i<b;i++){
for(j=i;j<b;j++){
printf("%d ",a[j]);
}
for(j=0;j<i;j++){
printf("%d ",a[j]);
}
printf("\n");
}
return 0;
}
*/
/*3
#include<stdio.h>
int main (){
int a[32]={},b,c,i,t=0;
scanf("%d",&b);
if(b==0){
printf("%d",a[1]);
}
while(b>0){
a[t]=b%2;
t++;
b=b/2;
}
for(i=t-1;i>=0;i--){
printf("%d",a[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
int main() {
char a[100]={},b,i;
for(i=0;i<100;i++){
scanf("%c",a[i]);
}
for(i=0;i<100;i++){
printf("%c",a)
}
return 0;
}
memoization 메모이제이션 알고리즘
a[i] : i번재 들어온 데이터 (x)
a[i] : i에 대한 메모 (o)
ex) 100명 학생회장 선거, 후보 3명
1 또는 2 또는 3이 적힌 쪽지 100장
a[1] a[2] a[3]
0 0 0
*/
/*
#include <stdio.h>
int main (){
int a[25]={},b,c,i;
scanf("%d",&b);
for(i=0;i<b;i++){
scanf("%d",&c);
a[c]=a[c]+1;
}
for(i=1;i<24;i++){
printf("%d ",a[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
int main() {
int a[10000001]={},b,c,i,j,t;
scanf("%d",&b);
for(i=0;i<b;i++){
scanf("%d",&c);
a[c]=1;
}
scanf("%d",&b);
for(i=0;i<b;i++){
scanf("%d",&c);
printf("%d ",a[c]);
}
return 0;
}
*/
/*
#include<stdio.h>
int main () {
int a[100]={},b,c,d,i,j,t;
printf("%d %d",&b,&c);
for(i=0,i<b;i++){
scanf("%d",&a[i]);
}
for(i=0;i<b-c
return 0;
}
문자열 (string) = 문자 일차원 배열
char arr[50];
NULL 널 : 문자열의 끝을 표시하는 문자
문자 문자열
char string
str[i] str
'a' "apple"
%c %s
*/
/*3
#include<stdio.h>
#include<string.h>
int main(){
int i;
char str[50] = "Hello World";
//char str[50]={'H','e','l','l','o'};
//scanf("%s",str); // 한 단어 ( 공백제외)
gets(str); // 공백까지 같이 받기
printf("%s",str);
for(i=0 ; str[i] != NULL ; i++)
{
if(str[i]=='(')
//printf("%c",str[i]);
}
}
*/
/*
#include<stdio.h>
int main () {
char c;
scanf("%c",&c);
printf("%c",c);
return 0;
}
*/
/*3
#include<stdio.h>
#include<string.h>
int main () {
char str[30];
gets(str);
printf("%s",str);
return 0;
}
*/
/*
#include<stdio.h>
#include<string.h>
int main () {
int i;
char str[101];
gets(str);
for(i=0;str[i]!=NULL;i++){
if(str[i]==' '){
continue;
}
else{
printf("%c",str[i]);
}
}
return 0;
}
*/
/*
#include<stdio.h>
#include<string.h>
int main () {
int i,a=0,b=0;
char str[100001];
gets(str);
for(i=0;str[i]!=NULL;i++){
if(str[i]=='('){
a++;
}
else if(str[i]==')'){
b++;
}
}
printf("%d %d",a,b);
return 0;
}
*/
/*
#include<stdio.h>
#include<string.h>
int main () {
char str[11]={};
gets(str);
for(int i=0;str[i]!=NULL;i++){
if(str[i]=='t'){
printf("%d ",i+1);
}
}
return 0;
}
아스키코드 : 모든 문자는 고유의 코드넘버를 가진다
'\0' 0 ( NULL )
'0' 48
'1' 49
...
'9'
' ' 32
'A' 65
'B' 66
...
'Z'
'a' 97
'b' 98
...
'z'
엄청 큰 숫자 저장
500자리수
"2783458713819023701928391273781235675781263891231232423432"
'2' '7' '8' ...
-> 어떤 수의 각 자리수의합이 3의배수이면, 그 수도 3의배수다
*/
/*3
#include<stdio.h>
#include<string.h>
int main () {
printf("%c",'t'-32);
if('a'<=str[i] && str[i]<='z')
// char str[11]={};
// int len=0;
// gets(str);
//
// len = strlen(str);
// printf("%d",len);
//
// for(int i=0;i<len;i++){
// if(str[i]=='t'){
// printf("%d ",i+1);
// }
// }
return 0;
}
*/
/*3
#include<stdio.h>
#include<string.h>
int main() {
int i;
char str[21];
gets(str);
for(i=0;str[i]!=NULL;i++){
printf("'%c'\n",str[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
int main () {
int i;
char str[1001]={};
gets(str);
for(i=0;str[i]!='\0';i++){
if('a'<=str[i]&&str[i]<='z'){
printf("%c",str[i]-32);
}
else if('A'<=str[i]&&str[i]<='Z'){
printf("%c",str[i]+32);
}
else {
printf("%c",str[i]);
}
}
return 0;
}
*/
/*
#include<stdio.h>
#include<string.h>
int main () {
int i,j,len;
char str[101];
gets(str);
len=strlen(str);
for(i=len-1;i>=0;i--){
printf("%c",str[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
#include<string.h>
int main () {
int i,j=0,len;
char str[101]={};
gets(str);
len=strlen(str);
for(i=0;i<len;i++){
if(str[i]=='l' && str[i+1]=='o' && str[i+2]=='v' && str[i+3]=='e'){
j+=1;
}
}
printf("%d",j);
return 0;
}
*/
/*
#include<stdio.h>
#include<string.h>
int main () {
int i,j,len;
char str[201];
gets(str);
len=strlen(str);
for(i=0;i<len;i++){
if(str[i]!=' '){
str[i]-=3;
if(str[i]<'a'){
str[i]+=26;
}
}
printf("%c",str[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
#include <string.h>
int main () {
int i,t,j,alen,blen;
char a[101],b[101];
scanf("%s %s",&a,&b);
alen=strlen(a);
blen=strlen(b);
if(alen<blen){
printf("%s %s",a,b);
}
else if(alen>blen){
printf("%s %s",b,a);
}
else{
t=alen;
for(i=0;i<t;i++){
if(a[i]>b[i]){
printf("%s %s",b,a);
break;
}
else if(a[i]<b[i]){
printf("%s %s",a,b);
break;
}
}
}
return 0;
}*/