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

알타리님의 프로필 이미지
알타리

작성한 질문수

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

1-H

1-H 문제 질문

작성

·

392

·

수정됨

0

강사님 안녕하세요.

강사님 문제 풀이를 보고 두 가지 질문이 있습니다.

  1. 1-H 문제의 아래 코드에서요,

ret = max(ret, psum[i] - psum[i - k]);

ret에 최소값을 할당하는건 이해가되는데, 결국 문제는 최대값을 구하는건데 왜 프썸의 이 아닌 를 구해서 ret 과 비교하는지 잘 이해가 가지 않습니다.

  1. 변수에 최소 or 최대 값을 선언할 때, INT_MIN이나 INT_MAX 를 할당하면 문제가 될까요? 일단 해당 문제에 적용 해봤을 떄는 딱히 문제는 없었습니다.

 

답변 1

2

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

안녕하세요 알타리님 ㅎㅎ

  1. 1-H 문제의 아래 코드에서요,

ret = max(ret, psum[i] - psum[i - k]);

ret에 최소값을 할당하는건 이해가되는데, 결국 문제는 최대값을 구하는건데 왜 프썸의 이 아닌 를 구해서 ret 과 비교하는지 잘 이해가 가지 않습니다.

>> 자 psum[5]는 무슨 의미일까요? psum[5]는 1, 2, 3, 4, 5번째 요소들이 "합"해진 값이죠?

여기서 psum[1]을 빼면 2, 3, 4, 5번쨰 요소들의 "합"한 값을 구할 수가 있는 것이죠. 그렇기 때문에 "차"를 기반으로 합니다. 또한 해당 부분은 개념강의에서 설명을 하고 있기 때문에 다시 한번 보시는 것을 추천드립니다.

  1. 변수에 최소 or 최대 값을 선언할 때, INT_MIN이나 INT_MAX 를 할당하면 문제가 될까요? 일단 해당 문제에 적용 해봤을 떄는 딱히 문제는 없었습니다.

네 괜찮습니다. 다만, 최소, 최대는 문제마다 다르기 때문에 해당 부분은 고려해서 해주세요. 예를 들어 long long일 경우에는 1e18을 쓴다는 등의 차이는 발생하기 때문입니다.

 

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

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

감사합니다.

강사 큰돌 올림.

알타리님의 프로필 이미지
알타리

작성한 질문수

질문하기