웅재의 코딩세상

[프로그래머스] 조건문, 배열, 수학, 시뮬레이션 본문

코딩테스트/프로그래머스 - LV 0

[프로그래머스] 조건문, 배열, 수학, 시뮬레이션

웅드 2024. 1. 9. 11:30
  • 점의 위치 구하기
#include <string>
#include <vector>

using namespace std;

int solution(vector<int> dot) {
    int answer = 0;
    return dot[0]*dot[1] > 0 ? dot[0] > 0 ? 1 : 3 : dot[1] > 0 ? 2: 4;
}

 

  • 2차원으로 만들기
#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<int> num_list, int n) {
    vector<vector<int>> answer;
    for(int i=0; i< num_list.size()/n; i++){
        vector<int> v;
        for(int j=0; j<n; j++){
            v.push_back(num_list[n*i+j]);
        }
        answer.push_back(v);
    }
    return answer;
}
  • 공던지기
#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers, int k) {
    if(k==1) return numbers[0];
    int answer = 0;
    for(int i=0; i<k-1; i++){
        answer += 2;
        if(answer > numbers.size()-1) answer -= numbers.size();
    }
    return numbers[answer];
}
  • 배열 회전시키기
#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;
}
반응형