Inflearn brand logo image
Inflearn brand logo image
채널톡 아이콘

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

lego0313님의 프로필 이미지

작성한 질문수 14

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

8-F

8-F

작성

·

23

0

안녕하세요 큰돌님.

큰돌님의 풀이는 왼쪽부터 다이얼을 돌리면서 답을 찾아갑니다.

다이얼을 돌리는 시작 위치에 따라 답이 달라질 수 있지 않나요?

왼쪽부터 다이얼을 돌려도 답을 구하는데 지장없는 이유를 알고 싶습니다.

감사합니다.

답변 2

0

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

안녕하세요 ㅎㅎ

세준이는 한 번 자물쇠를 돌릴 때, 최대 세 칸을 시계 방향 또는 반시계 방향으로 돌릴 수 있다.

-> 문제지문을 보시면 왼쪽, 오른쪽 둘다 돌려야 합니다.

    int _flag = flag ? 1 : -1; 
    for(int i = 1; i <= 3; i++){
        ret = min(ret, 1 + f(pos, _mod(x + i * _flag), y, z, flag));
        ret = min(ret, 1 + f(pos, _mod(x + i * _flag), _mod(y + i * _flag), z, flag));
        ret = min(ret, 1 + f(pos, _mod(x + i * _flag), _mod(y + i * _flag), _mod(z + i * _flag), flag)); 
    }

저또한 flag를 기반으로 두개의 방향 모두로 돌리고 있습니다.


 


 

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

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

감사합니다.

강사 큰돌 올림.


lego0313님의 프로필 이미지
lego0313
질문자

다이얼이 n개 있을 때,

X 번째 부터 돌리거나, X+1 번째 부터 돌려도 답을 구하는데 차이가 없는건아요?

이를 테면 왼쪽 다이얼부터 목표 숫자와 맞추는 사람이 있는가하면, 가운데 다이얼부터 목표 숫자와 맞추는 사람이 있을텐데, 둘 다 결과는 같나요?

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

안녕하세요 ㅎㅎ

X 번째 부터 돌리거나, X+1 번째 부터 돌려도 답을 구하는데 차이가 없는건아요?

-> abc 이렇게 있을 때 a가아니라 b부터 돌린다는 말씀이신건가요?

모든 경우의 수를 체크해야하기 때문에 a를 건너뛰고 b부터 돌리게 되면 반례가 생길 것같습니다.

 

이를 테면 왼쪽 다이얼부터 목표 숫자와 맞추는 사람이 있는가하면, 가운데 다이얼부터 목표 숫자와 맞추는 사람이 있을텐데, 둘 다 결과는 같나요?

-> 특정케이스의 경우 둘 다 결과가 같을수는 있으나 모든 경우의 수를 체킹해야 합니다.

 

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

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

다이얼을 돌리는 시작 위치에 따라 알고리즘의 풀이가 달라질 수 있는 상황에 대해 궁금해하셨습니다. 이 질문은 다이얼 문제의 특정 상황을 이해하는 데 중요한 포인트를 제공합니다.

핵심 설명:

  • 일부 알고리즘 문제에서는 초기 상태나 시작 위치에 따라 결과가 달라질 수 있습니다. 특히 반복적으로 다이얼을 돌리는 경우, 각 상태에서 시작하는 위치에 따라 경로가 달라져 최적의 해결책을 발견하기 어려울 수 있습니다.

  • 큰돌님의 접근법은 체계적으로 왼쪽에서 오른쪽으로 다이얼을 탐색하면서 최적의 해결 방법을 적용하여 구체적인 목표나 조건을 충족하는 데 집중하는 방향으로 설계되었습니다. 이는 초기 위치가 큰 영향을 미치지 않는 특정 유형의 문제에서 유효할 수 있습니다.

다른 학습자들도 유사한 질문을 통해 문제를 해결했습니다. 아래 링크들은 비슷한 질문을 다룬 게시물입니다. 질문하신 부분의 이해를 높이는 데 도움이 될 것입니다:

  1. 다이얼 문제 풀 때의 각도와 방향의 영향: 이 게시물에서는 특정 방향으로 다이얼을 돌리며 목적지에 도달하는 방식을 제안합니다.

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