inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

3-A

3-A 질문 있습니다.

121

AA66

작성한 질문수 29

0

저도 min함수를 떠올려서 비교하기위해서는 result를 적당한 값으로 초기화를 해놔야된다고 생각하였는데 강사님께서는 987654321으로 초기화를 해두었던데 그렇게 하신 이유가 있으실까요?

제가 문제를 풀다보니 초기값을 잘못 고르면 마이너스 값으로 출력되어버릴때도 있던데 어떻게 초기값 기준을 잡으면 되는지 잘 감이 잡히지 않습니다. 명확하게 딱 떨어지는 값도 이 문제에서는 없어 보이고요..

c++ 코딩-테스트

답변 2

0

큰돌

안녕하세요 ㅎㅎ

초기값 기준을 잡으면 되는지 잘 감이 잡히지 않습니다.

>> 문제에서 최솟값을 구하라 -> 최댓값부터 초기화를 하면 되고 그 반대는 최솟값부터 하시면 됩니다.

또한 초기값이 될 수 있는 범위는 문제에서 발생할 수 있는 값 이외로 잡으시면 됩니다.

 

그러나 보통은 int 타입의 문제 -> 최댓값 설정해야 한다면 다음 처럼 설정했을 때 대부분은 통과합니다.

이부분은 교안설명도 참고부탁드립니다.

스크린샷 2024-08-22 오전 9.18.06.png

 

감사합니다.

0

인프런 AI 인턴

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

AA66님께서 질문하신 내용은 알고리즘 문제 해결에서 매우 중요한 부분인 ‘적절한 초기값 설정’에 대한 것입니다. 특히 최솟값을 찾는 문제에서 초기값을 어떻게 설정하느냐가 문제의 정답을 올바르게 도출하는 데 결정적인 역할을 합니다.

강사님께서 사용하신 987654321 같은 값은 문제에서 가능한 최댓값보다 큰 값을 초기값으로 설정한 예시입니다. 이런 방식의 초기값 설정은 문제의 조건을 만족하는 실제 값이 어떤 경우라도 초기값보다는 작게 나오도록 보장하기 위함입니다. 이렇게 하면 결과값을 업데이트할 때, 문제의 조건(여기서는 최솟값)에 보다 쉽게 접근할 수 있습니다.

초기값을 설정할 때 고려해야 할 포인트는 다음과 같습니다:

  1. 문제의 범위: 문제에서 주어진 데이터 범위를 확실히 파악하고, 그보다 크거나 작은 값을 초기값으로 설정합니다.
  2. 예외 상황 고려: 실제 문제에서 발생할 수 있는 최악의 경우(예를 들어 최댓값 찾기에서는 가장 작은 값, 최솟값 찾기에는 무한에 가까운 큰 수)를 초기값으로 설정합니다.
  3. 자료형의 한계: 변수의 자료형이 표현할 수 있는 값의 범위 내에서 초기값을 설정해야 합니다. 예를 들어 int 형 변수에 너무 큰 수를 초기값으로 설정하면 오버플로가 발생할 수 있습니다.

질문하신 내용에 직접 답변하기는 어려우나, 이와 유사한 문제에 대한 이전 질문이 있어서 관련 내용을 참고하시면 도움이 될 것 같습니다. 아래 링크는 최댓값 또는 최솟값을 찾을 때 초기값 설정에 대한 질문입니다:

  • 1-G 질문드립니다 - 이 답변에서는 초기값 설정의 중요성과 함께 특정 문제에 대한 반례를 제공하고 있습니다. 비록 다른 문제에 대한 질문이지만, 초기값 설정과 관련된 공통된 원칙을 이해하는 데 도움이 될 수 있습니다.

초기값을 설정하는 것은 문제의 조건과 범위, 자료형의 한계를 종합적으로 고려하여 결정해야 합니다. 따라서 각각의 문제 상황에 맞는 최적의 초기값을 찾는 것이 해결책이 될 수 있습니다.

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

살구 클럽에 대한 질문있습ㄴ디ㅏ

0

6

0

교안 158페이지 문의드립니다

0

24

2

코딩살구클럽 관련 건의사항

0

53

1

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

26

1

진행 방법 질문드립니다!

0

56

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

59

2

2주차 개념#12 트리 순회

0

28

2

백준사이트가 종료된다고 합니다.

0

288

2

백준 서비스 종료

9

894

1

sk 하이닉스 코테 대비

0

370

2

3-G 최댓값 질문

0

51

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

83

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

172

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

51

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

68

2

함수별 시간복잡도

0

73

2

3-h 질문입니다.

0

49

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

53

2