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

이선용님의 프로필 이미지
이선용

작성한 질문수

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

4-B

4-B한 행이나 열 둘중에하나만 선택해서 돌린다는 부분이 잘이해가안갑니다

작성

·

286

·

수정됨

0

http://boj.kr/cd6c1ad2977c4cb0bcfad210f0c824c4

 

경우를 전부 완전탐색하면 경우의수가 너무많아 시간초과가 나는 부분은 이해했습니다 그런데

행하나는 브루트포스 하듯이 전체조건을 체크하는데 다른 열 하나는 조건체크를 하여 돌려야하는 이유를 잘모르겠습니다 행과 열 둘다 조건체크하여 돌리면 오답이 나오는데 제가 그리디에 대한 이해가 없어서 그럴까요? 해당조건이 모든조건을 체크할 수 있는게 맞는것인지 잘 이해가안가네요 ㅜㅜ

답변 1

0

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

안녕하세요 선용님 ㅎㅎ

행하나는 브루트포스 하듯이 전체조건을 체크하는데 다른 열 하나는 조건체크를 하여 돌려야하는 이유를 잘모르겠습니다

>>

간단하게 생각하시면 됩니다.

-> THT 라는 상황을 가정해볼게요.

  1. 이 열 1, 2, 3 열에 대해 뒤집는 모든 경우의 수가 끝났습니다.

  2. 이제 경우의 수는 이 행 -> 을 뒤집느냐. 아니면 안뒤집느냐. 라는 경우의 수밖에 없죠?

 

이 때 어떤 경우의 수가 최적의 수일까요?

뒷면이 위를 향하는 동전 개수를 최소로 만드는 것이 가장 최적의 수 아닐까요?

감사합니다.

이선용님의 프로필 이미지
이선용

작성한 질문수

질문하기