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

ㅎㅅ님의 프로필 이미지
ㅎㅅ

작성한 질문수

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

1-K

1-k

작성

·

228

0

http://boj.kr/fe656adfc64b4439972395d07af40ff6

결국 못풀어서 선생님꺼보고 생각하면서 작성하며

이것저것 바꿔보고있는데요 insert부분에서 begin은 어차피 0이니 지우고 사이즈만 반으로 나눠도 될것같은데 오류가 나더라구요

위치를 반환하는거니 시작위치 + 사이즈만큼의 위치를 반환하는거로 생각되는데 맞게 이해하고있는건가요?

답변 1

0

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

안녕하세요 ㅎㅅ님 ㅎㅎ


	if(mid)ret.insert(ret.begin() + ret.size() / 2, mid);

앞의 코드 질문 주신거죠??

begin은 어차피 0이 아닙니다.

begin은 해당 자료구조의 시작지점이라고 보시면 됩니다.

그 자료구조의 시작지점부터 시작해서 ~~ 중앙을 잘라서 insert를 해야 하는 로직이기 때문에 해당 begin이 필요합니다.

그림으로 그려보면 다음과 같습니다.

image

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

ㅎㅅ님의 프로필 이미지
ㅎㅅ
질문자

그림까지 감사합니다!!

ㅎㅅ님의 프로필 이미지
ㅎㅅ

작성한 질문수

질문하기