문제 해결/CodeUp

[CodeUp] [C++] 1405번 숫자 로테이션

WSLim_97 2024. 1. 16. 14:34
반응형

https://codeup.kr/problem.php?id=1405&rid=0

 

숫자 로테이션

숫자를 로테이션한 결과를 출력한다.(단, 왼쪽으로만 돌린다.)

codeup.kr


코드

#include <iostream>
using namespace std;

void printArr(int a[], int size)
{
	for (int i = 0; i < size; i++)
		cout << a[i] << " ";

	cout << endl;
}

int main()
{
	int arr[1000];
	int n, input, temp;

	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> input;
		arr[i] = input;
	}

	for (int j = 0; j < n; j++)
	{
		printArr(arr, n);

		for (int k = 0; k < n - 1; k++)
		{
			temp = arr[k];
			arr[k] = arr[k + 1];
			arr[k + 1] = temp;
		}
	}

	return 0;
}

 


풀이

1차원 배열에 n개의 정수가 입력되면 n개의 숫자를 하나씩 이동해 출력하는 문제이다.

 

먼저 1차원 배열과 배열의 크기를 매개변수로 받아 그 배열을 출력하는 printArr 함수를 활용했고, for 반복문을 사용해 배열의 0번부터 n번 인덱스의 자리를 서로 하나하나 바꾸어 진행하도록 하였다.

 

ex) 0번째 인덱스 <-> 1번째 인덱스, 1번째 인덱스 <-> 2번째 인덱스, · · · ·, n-2번째 인덱스 <-> ,n-1번째 인덱스 순서이다. 

반응형