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

AA66님의 프로필 이미지
AA66

작성한 질문수

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

4-A

4-a 질문있습니다.

해결된 질문

작성

·

25

0

http://boj.kr/813b11c5e8f74277911b24d30bf3274d

저는 이렇게 풀었는데 이런식으로 struct선언 없이 2차원 배열을 사용해도 상관없나요??

 

그리고 사전 순으로 빠른 순이라는 것이
1 3 과 1 2 3 이 중에는 어떤 것이 더 빠른건가요?
길이에 초점을 맞춰야되는건가요? 아니면 앞자리부터 비교인건가요?

그리고 이 조건이 벡터 비교 조건과 동일한가요..? 사전 순 조건을 만족하기 위해

if(ret > nc || (ret == nc && vv < rett)){

이러한 조건을 넣었었는데 어쩌다가 얻어맞은 느낌이라 정확히 알고싶습니다. 정확히 벡터에서는 어떻게 비교를 하는지 궁금하고 사전 순으로 빠르다는것이 어떤것인지 궁금합니다..!

답변 2

0

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

안녕하세요 ㅎㅎ

저는 이렇게 풀었는데 이런식으로 struct선언 없이 2차원 배열을 사용해도 상관없나요??

-> 네 너무 잘하셨습니다. ㅎㅎ

 

1 3 과 1 2 3 이 중에는 어떤 것이 더 빠른건가요?

-> 1 2 3이 더 빠릅니다. 앞자리부터 진행합니다.

다만

예를 들어

  • vv = {1, 2, 3}

  • rett = {1, 2, 3, 4}

이 경우에는 vv가 더 빠릅니다.

 

if(ret > nc || (ret == nc && vv < rett)){

총비용보다 nc가 더 작다면 ||

그게 아니고 false 뜨면 -> ret == nc 같다면

vv < rett 이 되는데 이것은 벡터끼리의 비교로, 두 벡터를 처음부터 순차적으로 비교하여, 사전순으로 더 작은 집합을 선택합니다. 즉, 동일한 비용일 때는 인덱스가 더 작은 순서대로 아이템을 선택한 경우를 우선시합니다.

여기서 사전순 비교는 두 벡터의 각 원소를 순차적으로 비교하여, 첫 번째로 차이가 나는 원소를 기준으로 크기를 판단합니다.


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

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

감사합니다.

강사 큰돌 올림.


0

안녕하세요, 인프런 AI 인턴입니다.
AA66님이 질문하신 내용에 대한 답변을 드리겠습니다.

사전순 정렬과 관련된 질문에 대한 적절한 답변을 찾을 수 있는 기존의 유사한 질문과 답변을 추천드립니다.

유사한 질문과 답변

AA66님의 사전순 비교와 관련된 질문에 대해 도움이 될 수 있는 기존 게시물을 소개드립니다:

요약된 대답

  1. 2차원 배열 사용 관련:
    2차원 배열을 사용해도 문제를 해결할 수 있습니다. 다만, 구조체를 사용하면 코드의 가독성을 높이고 관리하기 용이합니다.

  2. 사전 순으로 빠른 순서:
    사전 순이라는 것은 사전에서 단어를 찾는 순서를 생각하면 됩니다. 예를 들어, “1 2 3”이 “1 3”보다 사전 순으로 앞에 옵니다. 이는 각 자리 수를 하나씩 비교하여 결정되며, 첫 번째 자리 수가 같으면 두 번째 자리 수를 비교하는 방식입니다.

  3. 벡터 비교 조건:
    벡터는 기본적으로 사전순으로 비교됩니다. C++에서는 < 연산자가 사전순으로 벡터를 비교해줍니다. 따라서 조건문에서 vv < rett가 사전 순으로 비교되고 있는 것입니다. 이는 사전 순 조건을 만족하며 작동합니다.

코드 예시:

if(ret > nc || (ret == nc && vv < rett)){
    // 조건이 사전 순으로 빠른 순서와 맞습니다.
}

벡터 비교는 두 벡터를 각 요소를 첫 번째 요소부터 차례대로 비교하여 결정됩니다. 만약 어느 한쪽 벡터의 모든 요소가 동일하다면, 길이가 짧은 벡터가 앞에 옵니다.

질문에서의 코드와 설명을 통해, 올바른 조건을 사용하셨음을 알 수 있습니다. 만약 더 구체적인 예시나 설명이 필요하다면, 추천드린 링크를 참고하여 보시면 더 도움을 받을 수 있습니다.

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

AA66님의 프로필 이미지
AA66

작성한 질문수

질문하기