본문 바로가기
반응형
SMALL

정올 문제풀이13

정올 1009 : 각 자릿수의 역과 합 * 0 입력시 종료 만약 456100 을 역순으로 출력시 1. 1654 로 출력 되거나 (비교적 복잡) 2. 001654 로 출력되는 방법이 있다. (간단) 둘다 정리할 예정이지만 문제에서는 1번째로 하라고 하였으므로 1번째 먼저 정리해보겠다. 첫번째 방법은 아래의 방식을 이용한다. ex> 역순을 구하고 싶은 수: 453 (0*10) + (453%10) = 0 + 3 = 3 (3*10) + (45%10) = 30 + 5 = 35 (35*10) + (4%10) = 350 + 4 = 354 #include // quotient remainder void Reverse(int n) { int sum = 0, a = 0, b = 0; while (n) { // while(n!=0) 과 같은 표현 a = (a *.. 2020. 4. 28.
정올 1331 : 문자마름모 이차원배열의 행렬을 각각 x,y로 두고 진행한다. 우선 A,B,C,D... 어떤 순서로 진행되는지 규칙을 살펴보기 위해 모두 써보았다. (x,y) (이후 순서쌍 괄호, 콤마 생략) n=4일때 가정으로 미리 종이에 6*6 모눈종이를 그려놓고 행렬을 보기쉽게 해두면 이해하기 쉽다. ** n=4일때 가정 ** 첫번째 마름모(가장 바깥쪽) : 03 12 21 30 41 52 63 54 45 36 25 14 두번째 마름모 : 13 22 31 42 53 44 35 24 세번째 마름모 : 23 32 43 34 네번째 마름모 : 33 위에 표시해둔 글자색을 자세히 보면 규칙을 쉽게 찾을 수 있다. 보라색 부분에서는 x++, y-- 노랑색 부분에서는 x++, y++ 초록색 부분에서는 x--, y++ 검은색 부분에서는 x.. 2020. 4. 28.
정올 1707 : 달팽이 사각형 1. 첫번째 방법 이차원배열의 행열을 x,y로 두고 차례대로 횟수만큼 채워간다. 좌표 증가후 이차원배열에 수대입!! 대입을 먼저 한 후 증가하게되면 모서리부분(?)에서 수가 넘어가버린다. -> y++ -> 이동횟수 감소 -> x++ -> 이동횟수 감소 -> x-- #include int main() { int n; scanf("%d", &n); int num = 1; int x = 0; int y = -1; int m = n; // 이렇게 안해놓으면 출력 시 문제 // int arr[100][100]; 이렇게 하면 메모리 문제생김(오류는 안남) int** arr = new int* [n]; // 이부분만 c++이용하여 메모리 할당 for (int i = 0; i < n; i++) { arr[i] = ne.. 2020. 4. 28.
정올 1339 : 문자삼각형 2 ** 주의: 널문자는 출력되면 안됨!! ** #include #include int main() { int n; scanf("%d", &n); char a = 'A'; char** arr = new char* [n]; for (int i = 0; i 100)printf("INPUT ERROR\n"); else { for (int i = n / 2; i >= 0; i--) { for (int j = i; j 'Z') a = 'A'; arr[j][i] = a++; } } for (.. 2020. 4. 27.
반응형
LIST