◆C#/C# : 프로그래머스 문제 풀이

[프로그래머스]배열 회전시키기 C# C++

진2_ 2023. 11. 14. 10:27
728x90
반응형

[프로그래머스] 코딩테스트 입문 /  배열 회전시키기 / C# , c++

 

📝문제 설명

정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.

🔎 제한사항

  • 3 ≤ numbers의 길이 ≤ 20
  • direction은 "left" 와 "right" 둘 중 하나입니다.

🎀입출력 예시

 

🧐 풀이

C#


using System;

public class Solution {
    public int[] solution(int[] numbers, string direction) {
        int[] answer = new int[numbers.Length];
        int count=1;
        for(int i=0; i<numbers.Length; i++){
            if(direction == "right"){
                if(i == 0){
                    answer[i] = numbers[numbers.Length-1];
                }else{
                    answer[i] = numbers[i-1];
                }
            }
            if(direction == "left"){
                if(i == 0){
                    answer[numbers.Length-1] = numbers[i];
                }else{
                    answer[i-1] = numbers[i];
                }
            }
        }
        return answer;
    }
}

 

C++

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> numbers, string direction) {
    vector<int> answer;
    if(direction == "right"){

        answer.push_back(numbers.back());
        for(int i = 0; i<numbers.size()-1; i++){
            answer.push_back(numbers[i]);
        }
    }
    else{
        for(int i = 1; i < numbers.size(); i++){
            answer.push_back(numbers[i]);
        }
        answer.push_back(numbers.front());
    }

    return answer;
}
728x90
반응형