인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이미솔님의 프로필 이미지

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

22. 온도의 최댓값 (1차원 배열 구간합 : 제한시간 1초)

22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?

작성

·

58

0

22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?

vector를 써서 배열을 선언할 때, std를 사용하던데 C에도 사용이 되는 문법인건지, 아니면 C++에서도 cin 대신 scanf를 쓰는 것인지 궁금합니다!
그리고 std::vector<int> a(n) 이렇게 소괄호를 썼는데, 아래 for문 전개에서는 a[i] 이렇게 대괄호를 쓰는 것은 배열이기 때문인걸까요?

답변 2

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

vector는 C++에서 제공하는 자료구조입니다. 동적배열로 생각하시면 됩니다.

여기 코드는 C와 C++이 혼용되어 쓰고 있습니다.

섹션 4에서 [잠깐지식]으로 벡터에 대하여 설명하고 있습니다. 참고해보세요.

0

인프런 AI 인턴님의 프로필 이미지

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

이미솔님께서 질문하신 vector와 관련해서 해당 강의에서는 C++을 사용하여 문제를 풀고 있을 가능성이 높습니다. C++에서는 STL(Standard Template Library)의 vector를 사용하여 동적 배열을 쉽게 다룰 수 있습니다. C 표준 라이브러리에는 vector와 같은 동적 배열을 지원하는 구조가 없습니다. C 언어에서 동적 메모리 할당은 malloc이나 calloc 등의 함수를 사용하여 직접 구현합니다.

  • std::vector<int> a(n);라는 구문은 C++에서 사용되는 것이며, 이는 n 크기의 초기화된 벡터를 생성합니다. C에서는 이러한 구문을 사용할 수 없습니다.
  • a[i]와 같은 접근 방식은 벡터나 배열 모두에서 일반적으로 사용하는 구문입니다. 대괄호를 사용한 인덱스 접근은 배열과 벡터 모두에 동일하게 적용됩니다.

보다 명확히 하기 위해, C++에서는 std::cin이나 std::cout와 같은 입출력 객체를 사용할 수 있으며, scanfprintf는 C언어에서 자주 사용되지만 C++에서도 사용 가능합니다.

관련 질문의 자세한 해답이나 코드 예제를 원하신다면 아래 URL을 참고하세요.

벡터와 배열 접근 방식 차이점에 대한 설명

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