티스토리 뷰
안녕하세요 박스여우입니다.
이번에 제가 풀어본 알고리즘문제 개미수열에 대해 준비했습니다.
알고리즘 문제를 풀때 가장중요한것은 규칙찾기입니다.
아래에 규칙이 설명되 있으나 스스로 규칙을 찾아 해결하는 능력을 길러야 문제해결 능력이 향상된답니다.
개미수열의 규칙은
위에서부터 1,
1이 한개있으니 11,
1이 두개있으니 12
1이 한개, 2가 한개있으니 1121
1이 두개, 2가 한개, 1이 한개있으니. 122111
1이한개, 2가두개,1이 세개있으니, 112213
...
요런식으로 풀어나가는 수열입니다.
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
43
44
45
46
47
48 |
#include <stdio.h>
#pragma warning(disable:4996)
int main(){
int a;
scanf(" %d", &a);
int arr[100] = { 0, };
int arrs[100] = { 0, };
arr[0] = 1;
int count=1;
for (int k = 0; k < a; k++){
int i = 0, j = 1;
int kc = 0;
while (1){
printf("%d", arr[i]);
arrs[kc] = arr[i];
kc++;
if (k == 0){
break;
}
while (1){
if (arr[i] == arr[j]){
count++;
i++; j++;
}else{
printf("%d", count);
arrs[kc] = count;
kc++;
count = 1;
i++; j++;
break;
}
}
if (arr[i] == 0){
break;
}
}
printf("\n");
for (int c = 0; c < 100; c++){
arr[c] = arrs[c];
}
}
return 0;
}
|
cs |
'프로그래밍 > 알고리즘' 카테고리의 다른 글
이진 탐색 알고리즘(Binary Search) (419) | 2015.10.21 |
---|---|
퀵 정렬 알고리즘 (435) | 2015.07.17 |
c언어 알고리즘 - 파스칼의 삼각형 (425) | 2015.07.15 |
c언어 - 알고리즘 (383) | 2015.06.14 |
c언어 - 알고리즘 (412) | 2015.06.14 |
댓글