알고리즘 공부/C++

백준 1292번 쉽게 푸는 문제 C++

마달랭 2024. 7. 14. 23:28
반응형

리뷰

벡터에 값을 넣어 주고 구간 합을 구하는 문제

 

문제 풀이

  1. 벡터를 0으로 초기화 해준다. 0번 인덱스는 참조할 일이 없다.
  2. 구간의 최대 범위가 1000이므로 벡터를 길이 1000이상이 되도록 만들어준다.
  3. 2중 while문을 통해 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 .. 의 값을 벡터에 push 해준다.
  4. 합을 구할 구간을 나타낼 두 변수를 입력 받고 해당 구간의 합을 구한 뒤 출력해 준다.

 

참고 사항

없음

 

 

정답 코드

#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