320x100
1. h, e, l, o 의 문자만 카운팅한다.
2. l의 경우는 두개가 필요하기 때문에 카운팅이 끝나면 나누기 2를 해야합니다. 저는 시프트연산 >> 을 썻지만 나누기해도 무방합니다.
3. 카운트가 가장 작은 값을 찾습니다.
#include <stdio.h>
int main(void)
{
int T, test_case;
int cnt;
int Answer;
int arr[121];
char str[10001];
scanf("%d", &T);
for(test_case = 0; test_case < T; test_case++)
{
Answer=10001;
cnt=0;
arr['h']=0;
arr['e']=0;
arr['l']=0;
arr['o']=0;
scanf("%s",str);
while(str[cnt]!=NULL)
{
arr[str[cnt]]++;
cnt++;
}
arr['l']= arr['l']>>1;
Answer=Answer>arr['h']?arr['h']:Answer;
Answer=Answer>arr['e']?arr['e']:Answer;
Answer=Answer>arr['l']?arr['l']:Answer;
Answer=Answer>arr['o']?arr['o']:Answer;
printf("Case #%d\n", test_case+1);
printf("%d\n", Answer);
}
return 0;
}
반응형
'알고리즘문제' 카테고리의 다른 글
[백준]boj 1009 분산처리 (distributed processing) (0) | 2018.08.07 |
---|---|
[백준] boj 1008 A/B (division) (0) | 2018.08.07 |
[백준] boj 1003 피보나치함수(Fibonacci function) (0) | 2018.08.07 |
코드그라운드 50번 문제 스타벅스 (0) | 2017.09.28 |
코드그라운드 12번 문제 방속의 거울 (0) | 2017.09.25 |
댓글