-
1954. 달팽이 숫자코딩 테스트/SW Expert Academy 2021. 6. 24. 21:30
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제 이해
-> N X N 배열에서 숫자를 아래와 같은 형식으로 이루어진 달팽이 배열을 출력하는 프로그램
문제 주의
-> 달팽이의 크기 N은 1 이상 10 이하의 정수
문제 풀이
-> 최대치의 2차원 배열을 미리 선언
-> x축, y축 변수, 1씩 증가하며 배열을 채워줄 변수, 방향을 바꿔줄 변수를 선언
-> 무한루프를 돌면서 그 안에서 반복문을 실행
-> 첫 번째 반복문은 1씩 증가하는 변수를 대입하고, 위치를 변경
-> 그리고 최대 이동할 수 있는 범위를 1 뺄셈
-> 만약, 더 이상 뺄 수 없다면 배열이 다 채워진 것이므로 무한루프 탈출
-> 두 번째 반복문은 1씩 증가하는 변수를 대입하고, 위치를 변경
-> 그리고 방향을 전환하기 위해 -1을 곱하여 위치가 반대로 변경
-> 전체 배열을 출력 조건에 맞춰서 출력
// 정보처리산업기사 시험문제 유형과 비슷
#include<iostream> using namespace std; int main() { int testCaseCount, testCase = 0; cin >> testCaseCount; for (int i = 0; i < testCaseCount; i++) { int tempArr[11][11] = { 0 }; int x = 0, y = -1, tempCount = 0, reverse = 1; int tempCase; cin >> testCase; tempCase = testCase; while(1) { for (int i = 0; i < tempCase; i++) { tempCount++; y += reverse; tempArr[x][y] = tempCount; } tempCase--; if (tempCase <= 0) break; for (int i = 0; i < tempCase; i++) { tempCount++; x += reverse; tempArr[x][y] = tempCount; } reverse *= -1; } cout << "#" << i + 1 << endl; for (int i = 0; i < testCase; i++) { for (int j = 0; j < testCase; j++) cout << tempArr[i][j] << " "; cout << endl; } } return 0; }
'코딩 테스트 > SW Expert Academy' 카테고리의 다른 글
1926. 간단한 369게임 (0) 2021.06.29 1928. Base64 Decoder (0) 2021.06.28 1970. 쉬운 거스름돈 (0) 2021.06.23 1989. 초심자의 회문 검사 (0) 2021.06.23 1945. 간단한 소인수분해 (0) 2021.06.22