반응형
리뷰
벡터에 값을 넣어 주고 구간 합을 구하는 문제
문제 풀이
- 벡터를 0으로 초기화 해준다. 0번 인덱스는 참조할 일이 없다.
- 구간의 최대 범위가 1000이므로 벡터를 길이 1000이상이 되도록 만들어준다.
- 2중 while문을 통해 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 .. 의 값을 벡터에 push 해준다.
- 합을 구할 구간을 나타낼 두 변수를 입력 받고 해당 구간의 합을 구한 뒤 출력해 준다.
참고 사항
없음
정답 코드
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> lst = { 0 };
int index = 1;
int a, b;
cin >> a >> b;
while (lst.size() < 1001) {
int cnt = index;
while (cnt--) {
lst.push_back(index);
}
index++;
};
int sum = 0;
for (int i = a; i <= b; i++) {
sum += lst[i];
}
cout << sum;
}
728x90
반응형
'알고리즘 공부 > C++' 카테고리의 다른 글
백준 2822번 점수 계산 C++ (3) | 2024.07.15 |
---|---|
백준 5054번 주차의 신 C++ (0) | 2024.07.15 |
백준 2953번 나는 요리사다 C++ (0) | 2024.07.14 |
백준 2592번 대표값 C++ (0) | 2024.07.14 |
백준 10995번 별찍기 - 20 C++ (2) | 2024.07.14 |