티스토리 뷰
[ 해결 방법 ]
그냥 무식하게 풀었다. 세트판을 만들어 놓고 입력받은 숫자가 있으면 해당 숫자판에 1을 표시하고 없으면 판을 늘렸다. 그래서 늘려 놓은 판을 출력했다.
[ 코드 ]
#include <stdio.h>int set[8][10];int cnt = 1;int seperator(int n, int* arr){int i = 0;while (n){arr[i++] = n % 10;n /= 10;}return i;}int Find(int num){for (int i = 1; i <= cnt; i++){if (set[i][num] == 0)return false;}return true;}int main(){int N, sepN[8], sepCnt = 0;scanf("%d", &N);sepCnt = seperator(N, sepN);for (int i = 0; i < sepCnt; i++){int num = sepN[i];if (!Find(num))set[cnt][num] = 1;else{if (num == 9 || num == 6)num = (num == 9) ? 6 : 9;if (!Find(num))set[cnt][num] = 1;elseset[++cnt][num] = 1;}}printf("%d\n", cnt);return 0;}
'알고리즘 > 기초구현' 카테고리의 다른 글
백준_시그마 (0) | 2016.09.16 |
---|---|
백준_01타일 (0) | 2016.09.08 |
codeground 개구리 뛰기 (0) | 2016.08.25 |
codeground 프로그래밍 경진대회 (0) | 2016.08.24 |
codeground 미궁속의 방 (1) | 2016.08.24 |