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

대기업목표님의 프로필 이미지
대기업목표

작성한 질문수

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

맞왜틀팁 : 반례를 생각하는 방법 | 2 - C 보완설명

2-C 관련 질문

해결된 질문

작성

·

238

0

안녕하십니까 큰돌님

강사님 교안에서 최대값, 최소값을 구하기 위한 변수를 초기화할 때는 답의 범위 밖에서 초기화 하라고 하셨어서

http://boj.kr/2a9ba159e08f4a9f99e39a8c2cd41c08

저는 이런식으로 ret을 제일 최소값인 0보다 밖의 범위인 -1로 했었는데 2-C 는 그렇게 초기화하면 안 되는 예외인 문제인 거죠 ??

답변 1

1

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

안녕하세요 대기업님 ㅎㅎ

저는 이런식으로 ret을 제일 최소값인 0보다 밖의 범위인 -1로 했었는데 2-C 는 그렇게 초기화하면 안 되는 예외인 문제인 거죠 ??

>> 네 맞습니다. 음.. 다만 이걸 예외라고 생각하기보다는 갱신이 안될 때 어떻게 할것인가? 를 생각하는 코드라고 생각하시면 됩니다.

만약 ret 자체가 갱신이 안될 때는 1이 정답이기 때문에 1이 되어야 하는 것인데요.

사실 이부분은 다른 문제에서도 많이 나타나는 유형입니다.

아마 문제를 풀다보면

const INF를 정의하고

ret == INF ? -1 : value

이런식의 코드를 보게 될텐데요. 이부분도 같은 맥락입니다. 만약 갱신이 안될때는 이런 값을 두게 한다는 부분이고 그런 유형이 녹아든 것이라고 생각하시면 됩니다.

 

또 질문 있으시면 질문 부탁드립니다. 

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

감사합니다. 

대기업목표님의 프로필 이미지
대기업목표

작성한 질문수

질문하기