← 학습 코스

기준을 넘는 측정값

C++완성형

vector의 크기와 번호를 읽어요

함수·조건문·반복문을 익힌 뒤 시작해요. vector<int>는 정수를 순서대로 담는 배열이에요. <vector> 헤더를 포함하면 사용할 수 있어요.

vector<int> values = {6, 2, 9};
int first = values[0];
int length = values.size();

인덱스는 0부터 시작해요. values[0]은 6, values[2]는 9이고 길이는 3이에요. 길이와 마지막 인덱스는 달라요. values[3]은 존재하지 않아요. 이 레슨에서는 길이가 100 이하라 size()의 값을 int에 담아도 돼요. vector<int> values(3);처럼 길이를 정해 만들면 정수 0인 칸 세 개가 생겨요. vector<int> values(3, 5);는 모든 칸을 5로 시작해요.

값과 인덱스를 구분해서 순회해요

int total = 0;
for (int i = 0; i < values.size(); i++) {
    total = total + values[i];
}
i values[i] 처리 후 total
0 6 6
1 2 8
2 9 17

다음으로 i=3을 처리할까요? 조건이 거짓이라 멈춰요. i를 더하면 인덱스 합 3이 되지만, values[i]를 더하면 값의 합 17이에요. 빈 vector의 size()는 0이고 이 반복은 한 번도 실행하지 않아요.

직접 풀어봐요

측정값 vector values와 기준 limit을 받아, 기준을 초과하는 원소 개수를 반환해요. 같은 값이 여러 번 있으면 각각 하나씩 세요.

vector 길이는 0100, 원소와 limit은 −10001000이에요. 실행용 입력은 첫 줄 길이 n, 다음 줄 n개 정수, 마지막 줄 limit이에요. n=0이면 원소 줄은 비어 있어요. 출력은 반환값이에요. 입력은 하네스가 읽어요.

예시 1: values={5,9,6,11}, limit=6 → 2. 9와 11을 세요. 예시 2: values={2,8,3}, limit=1 → 3. 모두 기준을 넘어요.

예시 입력

4
5 9 6 11
6

예상 결과

2

예시 입력

3
2 8 3
1

예상 결과

3
핵심 개념
  • stl-vector: vector의 길이는 size()이고 유효 인덱스는 0부터 길이−1까지예요. 값은 values[i]로 읽어요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기