반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
문제와 같이 배열이 주어지면 배열을 자르는 문제다.
- 풀이
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, long long left, long long right) {
vector<int> answer;
answer.reserve(100001);
for(long long i = left; i < right + 1; i++){
if(i / n > i % n){
answer.push_back(i/n+1);
}
else{
answer.push_back(i%n+1);
}
}
// copy(temp.begin() + left, temp.begin() + right + 1, back_inserter(answer));
// answer.assign(temp.begin() + left, temp.begin() + right + 1);
return answer;
}
배열을 자르면 / 이거와 % 이거로 모든 답을 구할 수 있다는 것을 알 수 있다.
이건 따로 식을 어떻게 구했는지는 모르겠고 직접 종이에 써서 해보니 이렇게 됐다.
- 기억할 것!
문제가 long long을 주는데 계속 for(int i = left) 이렇게 해서 시간 초과가 떴었다.
문제가 틀림이 아니고 시간초과여서 이 부분을 계속 간과했기에 1시간 가량 이 문제를 풀게 되었다.
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 기능개발 C++ (0) | 2022.10.22 |
---|---|
프로그래머스 위장 C++ (0) | 2022.10.22 |
프로그래머스 튜플 C++ (0) | 2022.10.22 |
프로그래머스 행렬의 곱셈 C++ (0) | 2022.10.22 |
프로그래머스 H-Index C++ (0) | 2022.10.22 |