문제 해결/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번째 인덱스 순서이다.
반응형