Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- packet filter
- ioctl
- C언어
- 풀이
- .nret core 배포
- .net core 7
- ncurses
- NAPT
- epoll_wait
- Docker
- 어셈블리어
- architecture
- mvwin
- BOF
- rfc5508
- level trigger
- packet flow
- epoll
- REDIS
- edge trigger
- doupdate
- cbpf
- vtable
- wnourefresh
- 취약점
- Compiler
- DOCKER-USER
- iptables
- LOB
- wrefresh
Archives
- Today
- Total
Tuuna Computer Science
[C Language] 배열없이 문자열의 빈도수 구하기 본문
수요일에 프로그래밍 시험을 봤는데 2번 문제에 추가적인 배열을 만들지 않고 문자열의 빈도수를 구하라는 문제를 발견했다 :(
처음에 그냥 if else if문 27개를 만들어서 구할 생각이였지만 이건 좀 아니라는 생각에
알고리즘을 구상한 결과 아스키코드 0x20 ~122까지 돌리는 것이였다!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include <stdio.h> #include <string.h> int main(void) { int check; char line[80]; gets(line); int j; int a, tmp, result1=0, result2=0,i; int len=0; for(i=0;line[i]!='\0';i++) { len++; } //a = strlen(line); //printf("%d %d\n",len, a); for(i=0x20;i<=122;i++) { for(j=0;j<len;j++) { if(line[j] == i) { result1++; //printf("i : %d\n", i); } } printf("character : %c : %d\n", i, result1); if(result1 >= result2) { tmp = i; //printf("tmp : %d\n", tmp); result2 = result1; //printf("result2 : %d\n", result2); result1 = 0; } else result1 =0; } printf("가장 많은 빈도수 : %c %d\n",tmp,result2); return 0; } | cs |
'C language' 카테고리의 다른 글
[안드로이드 게임]텐트와 나무 게임 알고리즘 분석해보기(머리로 풀지 말고 컴퓨터로 풀자) (22) | 2018.11.25 |
---|---|
시저암호 암호화 복호화 소스 (0) | 2018.11.02 |
배열을 대상으로 만든 여러 사용자 정의 함수 (헤더파일 제작) (0) | 2018.10.26 |
[C 언어] PE View tool 제작하기 (노가다 소스코드) (0) | 2018.09.05 |
Logic_Game1 Aegis Royale ~ , ~ (0) | 2018.08.18 |
Comments