Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 아두이노 컴파일러
- 라인트레이서
- Deque
- Arduino
- WinAPI
- LineTracer
- c++
- 컴퓨터 그래픽스
- directx
- queue
- Visual Micro
- 자료구조
- map
- set
- 수광 소자
- priority_queue
- 운영체제
- vector
- 시스템프로그래밍
- 아두이노
- C언어
- arduino compiler
- html
- Array
- Stack
- list
- stl
- 통계학
- Algorithm
- 아두이노 소스
Archives
- Today
- Total
Kim's Programming
1954. 달팽이 숫자 본문
1954. 달팽이 숫자
풀이 방법
배열 크기를 지정해두고 왼쪽 위에서 부터 오른쪽으로 시작하여 끝에 도달하면 시계 방향 90도로 꺽어 진행하도록 하였다.
<코드>
#include<iostream> using namespace std; //north :0 East :1 south :2 West :3 int* moveTo(int* current, int size, int direction) { switch (direction) { case 0: return current - size; case 1: return current + 1; case 2: return current + size; case 3: return current - 1; } return nullptr; } int main(int argc, char** argv) { int test_case; int T; cin >> T; for (test_case = 1; test_case <= T; ++test_case) { int input{ 0 }; std::cin >> input; int direction = 2; int* dataArray = new int[input*input]{ 0, }; int* pointer = &dataArray[input - 1]; int inputData = input + 1; for (int i = 0; i < input; i++) dataArray[i] = i + 1; for (int i = input - 1; i > 0; i--) { for (int j = 0; j < i; j++) { pointer = moveTo(pointer, input, direction); *pointer = inputData; inputData++; } direction = direction + 1 > 3 ? 0 : direction + 1; for (int j = 0; j < i; j++) { pointer = moveTo(pointer, input, direction); *pointer = inputData; inputData++; } direction = direction + 1 > 3 ? 0 : direction + 1; } std::cout << "#" << test_case << "\n"; for (int i = 0; i < input; i++) { for (int j = 0; j < input; j++) std::cout << dataArray[i * input + j] << " "; std::cout << "\n"; } delete[] dataArray; } return 0;//정상종료시 반드시 0을 리턴해야합니다. }
'SW ExpertAcademy > D2' 카테고리의 다른 글
1961. 숫자 배열 회전 (0) | 2018.12.01 |
---|---|
1959. 두 개의 숫자열 (0) | 2018.12.01 |
1948. 날짜 계산기 (0) | 2018.12.01 |
1946. 간단한 압축 풀기 (0) | 2018.12.01 |
1945. 간단한 소인수분해 (0) | 2018.12.01 |