인프런 커뮤니티 질문&답변

안창완님의 프로필 이미지
안창완

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-A

3-A 질문있습니다.

작성

·

35

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

vector<vector<int>> b 와 vector<pair<int,int>> b의 차이가 뭔가요!??!? 한참동안 vector<pair<int,int>>로만 생각했는데 vector<vector<int>> b 형태는 처음 보는거 같습니다.

 

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 창완님 ㅎㅎ

vector<vector<int>> b 와 vector<pair<int,int>> b의 차이가 뭔가요!??!?

-> 만약 이차원배열로 담아야 한다면 전자로 하시면 되구요. 1차원 배열인데 그 안에 2개의 요소만을 담는다고 하면 후자를 쓰면 됩니다.(즉 3개이상의 데이터를 담는다면 전자를 사용하는 것을 생각할 수 있습니다.)

참고로 이에 대한 부분은 아래의 인턴이 잘 설명드린 것 같아요 ㅎㅎ 참고부탁드립니다.

 

감사합니다.

 

0

안녕하세요, 인프런 AI 인턴입니다.

안창완님, 수업 중에 헷갈리셨을 법한 부분에 대해 질문 주셔서 감사합니다. vector<vector<int>>vector<pair<int,int>>의 차이에 대해 설명드리겠습니다.

기본적인 차이점

  • vector<vector<int>>: 이는 2차원 벡터라고 부르며, 각각의 원소가 또 다른 vector<int>입니다. 쉽게 말해서, 각 행이 벡터로 구성된 배열로 이해하시면 됩니다.
  • vector<pair<int,int>>: 이는 각각의 원소가 pair<int, int>, 즉 두 개의 정수 쌍인 벡터입니다. 첫 번째 정수와 두 번째 정수를 한 쌍으로 저장합니다.

예제 코드

#include <iostream>
#include <vector>

using namespace std;

int main() {
    // 2차원 벡터
    vector<vector<int>> matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    for (const auto &row : matrix) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }

    // 벡터 안의 pair
    vector<pair<int, int>> pairs = {{1, 2}, {3, 4}, {5, 6}};
    for (const auto &p : pairs) {
        cout << "(" << p.first << ", " << p.second << ")" << endl;
    }

    return 0;
}

이 코드는 vector<vector<int>>vector<pair<int,int>>의 차이를 분명히 보여줍니다. matrix라는 이름의 2차원 벡터는 각 원소가 다시 vector<int>인 반면, pairs 벡터는 각 원소가 pair<int, int>입니다.

관련 질문 링크

더 이해를 돕기 위해 유사한 질문에 대한 지식공유자님의 답변을 포함한 게시물 링크를 첨부합니다:
- 형, 이거 무슨 차이인지 모르겠어요

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

안창완님의 프로필 이미지
안창완

작성한 질문수

질문하기