반응형
이번 글은 매일 프로그래밍에서 제공하는 샘플 문제입니다.
정수 배열과 정수 K가 주어지면 모든 원소를 K칸씩 앞으로 옮기는 문제고, C언어로 풀었습니다.
1. 문제
정수 배열과 정수 k가 주어지면 모든 원소를 k칸씩 앞으로 옮기시오.
2. 풀이
배열의 크기와 배열 값, K값을 입력 받는다.
K값은 k칸씩 앞으로 옮기는 것이므로, k가 2라면 앞으로 2칸씩 옮긴다.
배열의 첫 값을 key에 저장하고, 이동 후 배열 맨 뒤에 key값을 넣어준다.
3. 소스 코드
#include
int main()
{
int N,K;
scanf("%d",&N);
int A[N];
for(int i=0;i<N;i++) scanf("%d",&A[i]);
scanf("%d",&K);
for(int j=0;j<K;j++)
{
int key = A[0];
for(int i=0;i<N-1;i++)
{
A[i] = A[i+1];
}
A[N-1] = key;
}
for(int i=0;i<N;i++) printf("%d",A[i]);
}
반응형
'알고리즘 > 매일 프로그래밍' 카테고리의 다른 글
[매일프로그래밍]피보나치 배열은 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다. 정수 N이 주어지면, N보다 작은 모든 짝수 피보나치 수의 합을 구하여라. (0) | 2019.04.02 |
---|
최근댓글