na1st   1년 전

왜 틀렷습니다 라고나올까요?;;

문제를 이해잘못햇나요?ㅠ

occidere   1년 전

음.. 왜 정렬을 하신건지는 모르겠으나 제가 이해한 바는 이렇습니다.

예를 들어 3개의 멀티탭이 있고 각각 2구, 2구, 3구짜리일때 이 멀티탭 3개를 이은 다음, 여기에 꽂을 수 있는 최대 전원의 수는?

-> 2구짜리와 다른 2구짜리를 연결하면 구멍 1개는 서로 연결하는데 쓰이므로 (2-1)+2로 총 3곳을 사용 할 수 있습니다. 남은 3구짜리를 꽂으면 또 연결하는데 1구멍이 쓰이므로 (3-1) + 3으로 총 5곳을 사용 할 수 있습니다.

이 과정을 논리적으로 생각해 보면 3개의 멀티탭을 서로 연결하려면 접합부(연결부)는 총 2곳이 생깁니다. 즉, n개의 멀티탭을 서로 연결하려면 n-1개의 구멍은 사용이 불가능한 거죠.

따라서 사용할 수 있는 최대 구멍의 개수는 (각 멀티탭 구멍의 총합) - (멀티탭의 개수 - 1)이 됩니다.


아래는 통과한 코드입니다.

사실 멀티탭의 개수만큼 배열을 잡게 되면 최대길이가 50만개인 배열이 생성되어 메모리 소모가 심해집니다. 배열 선언 말고 다른 방법으로도 한번 풀어보시기 바랍니다!

na1st   1년 전

친절한 설명 감사합니다. 문제를 이해를 못했었던 것 같아요~ 배열말구 이렇게 풀어보았는데 이렇게 풀면되나욤~?

occidere   1년 전

넵 ㅎㅎ 배열방식과 비교해 보시면 확실히 메모리 소모가 줄어든 것을 보실 수 있으실 거에요!

그리고 다른 분들 코드 보면 신기한 방법도 많으니 보고 이해해보시는 것도 좋을 것 같습니다!

댓글을 작성하려면 로그인해야 합니다.