/*
i=0) 1 2 3 4 5
i=1) 2 3 4 510
i=2) 3 4 5
..
#include <stdio.h>
int main()
{
int i,k,n;
int arr[1000]={};
scanf("%d",&n);
for(i=0 ; i<n ; i++)
{
scanf("%d",&arr[i]);
}
for (i=0 ; i<n ; i++)
{
for(k=i ; k<n ; k++)
{
printf("%d ",arr[k]);
}
for(k=0 ; k<i ; k++)
{
printf("%d ",arr[k]);
}
printf("\n"); h
}
}*//*
#include <stdio.h>
int main()
{
int i,j,k,n;
int arr[1000]= {};
scanf("%d",&n);
for (i=0 ; i<n ; i++)
{
scanf("%d",&arr[i]);
}
for (j=0; j<n ; j++) {
printf("%d: ",j+1);
for (k=0 ; k<n ; k++) {
if (j==k) continue;
else if (arr[j]<arr[k]) printf("< ");
else if (arr[k]<arr[j]) printf("> ");
else printf("= ");
}
printf("\n");
}
}
/*
1,1: '=' < < < =
2,2: > '=' < = >
3,3: > > '=' > >
4,2: > '=' < = >
5,1: = < < < '='
*/
/*
#include <stdio.h>
int main()
{
int i=0,k=0,n=0,j=0;
double sum=0;
int arr [100]={};
for (i=0 ; i<10 ; i++) {
scanf("%d",&arr[i]);
sum = sum+arr[i];
}
sum=sum/10;
// sum : 평균
for (i=0 ; i<10 ; i++) {
if (sum <= arr[i]) {
k=k+1;
}
}
printf("%.1lf\n%d %d",sum,k,10-k);
}
- Memoization 메모이제이션 기법 [입력 데이터의 범위가 정해져있을때만]
arr[i] : i번째 입력된 데이터 (x)
arr[i] : i에 대한 메모 (o)
ex) i가 입력된 횟수 or i가 입력된적 있다면 1 없다면 0을 체크
1만번 불렀어
1. 1만번 입력
2. 1만개 훑기 -> 1이 몇개인지 세기 , 2가 몇개인지 세기 ....
-> 23만번 비교
1 -> arr[1] ++;
한 반에 30명
1 or 2 or 3이 적힌 쪽지가 30장
1 2 3
6 20 4
//
#include <stdio.h>
int main()
{
int i=0,k,n,j;
int arr[24]= {};
scanf ("%d",&n);
for (i=0 ; i<n ; i++)
{
scanf("%d",&k);
arr[k]+=1;
}
// arr[1] ~ arr[23]
for (i=1 ; i<=23 ; i++){
printf("%d ",arr[i]);
}
}*/
/*
#include <stdio.h>
int main()
{
int i,k,j,n,y=0,t=0;
int arr[100000000]= {};
scanf("%d",&n);
for (i=0 ; i<n ; i++)
{
scanf("%d",&y);
arr[y]=1;
}
scanf("%d",&k);
for (j=0 ; j<k ; j++)
{
scanf("%d",&t);
printf("%d ",arr[t]);
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int i=0,j=0,k=0,n=0;
int arr[1000]={};
scanf("%d",&n);
while (1) {
i++;
arr[k]=arr[k]/2;
arr[k]
printf("%d",arr[k]);
if(n==0)
{
break;
}
}
}
*/
/*
#include <stdio.h>
int main()
{
int i=0,j=0,k,n;
int arr[1000000]= {};
scanf("%d",&n);
while (1)
{
arr[i]=n%2;
n=n/2;
i++;
if (n==0)
{
break;
}
}
for (j=i-1 ; j>=0; j--)
{
printf("%d",arr[j]);
}
return 0;
}
int arr[50]; 정수 일차원 배열
char str[50]; 문자 일차원 배열 = 문자열 = string
NULL : 문자열의 끝을 표시하는 문자 '\0'
#include <stdio.h> // standard (기본) + input + output (입출력)
#include <string.h> // 문자열 관련
int main()
{
char str[100]="Hello"; //모든 배열은 선언시 초기화
int i;
//scanf("%s",str); //문자열 통째로 입력받기 (공백은못받음,한단어)
gets(str); //공백까지 한 문장 통째로 입력받기
//printf("%s",str); //문자열 통째로 출력하기
문자열 vs 문자
%s %c
"hello" 'h'
str str[i]
printf("%s",str[i]); (xxxxxx)
printf("%c",str); (xxxxxxx)
scanf("%c",str); (xxxxxxx)
scanf("%s",str[i]); (xxxxxx)
scanf("%c",&str[i]); (ooooo)
scanf("%s",str); (ooooo)
scanf("%s",&str[0]); (ooo)
str = &str[0]
배열의 이름은 첫번째원소의 주소와 같다
1133
1418
*/
/*
#include <stdio.h>
#include <string.h>
int main()
{
char str[100]={};
gets(str);
printf("%s",str);
}
for(i=0; str[i] != NULL ;i++)
{
printf("%c-",str[i]);
// if(str[i]==' '){
// printf("!");
// }
// else{
// printf("%c",str[i]);
// }
}
return 0;
}
*/
#include <stdio.h>
#include <string.h>
int main()
{
int i,k,n;
int j;
char str[100]={};
gets (str);
for (j=0 ; str[j] != NULL ; j++) {
if (str[j]=='t') {
printf("%d ",j+1);
}
}
return 0;
}