작성
·
202
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 강사님,
제가 map<int, vector<vector<int>>> ret_v; 의 형태에 대해 이해가 잘 안됩니당
강의에서 설명해주신대로 벡터의 벡터를 이용하는것 까지는 이해를 했습니다.
근데 출력부분이 왜
for(int a : ret_v[ret][0]){
cout << a << " ";
}
이렇게 작성 되는지가 이해가 안가네용 ...
제 생각엔 ret_v[ret]면 될거같은데 [0]이 왜 있고 무슨의미인지 이해가 안되네요
답변 2
0
안녕하세요 동규님 ㅎㅎ
제가 map<int, vector<vector<int>>> ret_v; 의 형태에 대해 이해가 잘 안됩니당
>>
int 라는 키에
2차원 배열이 들어가 있는 것입니다.
강의에서 설명해주신대로 벡터의 벡터를 이용하는것 까지는 이해를 했습니다.
근데 출력부분이 왜
for(int a : ret_v[ret][0]){
cout << a << " ";
}
>> ret_v[ret]은 해당 2차원 배열을 나타내죠?
그 2차원 배열 중에 첫번째 배열을 출력해야 해서 그렇습니다.
{{1,2,3}, {4,5,6}, {}, {}}
이런식으로 되어있는 것중
1, 2, 3을 출력하기 위함입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴이에요.
ret_v는 map
ret_v[ret]은 ret_v에서 ret이라는 키 값에 해당하는 벡터 벡터를 의미합니다.
그리고 [0]은 해당 벡터 벡터에서 첫 번째 벡터를 의미합니다.
따라서, ret_v[ret][0]은 ret_v에서 ret이라는 키 값에 해당하는 벡터 벡터 중 첫 번째 벡터를 의미하게 되는 것이죠.
그래서 출력 부분에서는 for문을 사용하여 ret_v[ret][0]에 포함된 모든 값들을 출력하는 것입니다.
만약 ret_v[ret]만 출력한다면, 벡터 벡터 전체가 출력되기 때문에 원하는 값을 개별적으로 출력하기 위해서 ret_v[ret][0]을 사용한 것이에요.
이해가 되셨는지요? 추가로 궁금한 점이 있다면 언제든지 물어보세요!