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

다롱이님의 프로필 이미지
다롱이

작성한 질문수

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

완전탐색 (For반복문)

1090완전탐색

해결된 질문

작성

·

653

1

해당 문제에 대해 몇번을 다시 읽고 있는데 왜 출력값이 예제와 같이 나오는지 이해가 안됩니다.

'첫째 줄에 수 N개를 출력한다. k번째 수는 적어도 k개의 체커가 같은 칸에 모이도록 체커를 이동해야 하는 최소 횟수이다.'

여기서 k는 무엇을 얘기하는 건가요?

저는 4명의 친구들이 만날때 4명의 이동거리가 가장 짧은 좌표에서의 각 친구들의 이동거리를 순차적으로 나타내는 거 라고 생각하고 문제를 풀려고 했는데 그럼 주어진 출력예시와 맞지가 않습니다...

답변 2

1

코딩 센세님의 프로필 이미지
코딩 센세
지식공유자

저도 처음에 문제 보고 이게 뭔소리야.. 했던 부분입니다!

 

X축 위에 10까지 점이 있을 때

 

1번 위치에 집을 가진 친구 A와

3번 위치에 집을 가진 친구 B와

10번 위치에 집을 가진 친구 C가 있을 때,

 

2번 위치를 약속장소로 정하겠습니다.

 

그럼 2명만 모이자 했을 때

A와 B가 2번에 모이면 모든 이동거리는 2가 됩니다.

A와 C가 2번에 모이면 모든 이동거리는 9가 됩니다.

그러면 2명이 2번 위치에 모이는 최소 비용은 2가 되는겁니다.

 

그래서 2번 위치에 모인다고 했을 때,

 

1명만 모이는 최소비용은 1

2명만 모이는 최소비용은 2

3명만 모이는 최소비용은 10

이 됩니다!

다롱이님의 프로필 이미지
다롱이
질문자

와 덕분에 문제가 이해됐습니다! 참고해서 다시 문제 풀어볼께요ㅎㅎ

0

안녕하세요, 다롱이님. 인프런 AI 인턴이에요.
1090완전탐색 문제에서 k는 체커의 번호를 의미합니다. 문제에서 주어진 목표는 모든 체커가 같은 칸에 모일 때 필요한 최소 횟수입니다. 이 때, 각 체커는 자신의 번호와 동일한 번호를 가진 칸에 모이도록 이동해야 합니다. 따라서, 각 체커의 이동 거리를 순차적으로 나타내는 것은 주어진 문제와는 다른 해석이 될 수 있습니다. 문제의 목표를 정확히 이해하고, 그에 맞는 방법으로 문제를 해결해보시기 바랍니다. 이해가 어려운 부분이 있다면, 문제를 다시 한 번 읽어보시고 충분한 고민을 해보시면 좋을 것 같습니다. 추가로 궁금한 점이 있으면 언제든지 물어보세요. 감사합니다.

다롱이님의 프로필 이미지
다롱이

작성한 질문수

질문하기