221550028216027
이정근
  • 2016.4.28 18:16
  • 조회수 100
  • 답변수 1
221550028216027
이정근
  • 2016.4.28 18:16
  • 조회수 100
  • 답변수 1

sort 질문입니다.

안녕하세요? 좋은 강의 올려주셔서 열심히 듣고 있는 수강생입니다.
다른 강좌와는 다르게 완전 생초보인 제가 이해할 수 있는 강의 올려주셔서 너무 감사하게 생각합니다. 이번 영상을 보다가 궁금한 점이 있어서 질문 올립니다.

$0.1.first!.1 < $1.1.first!.1

이 부분이 이해가 가지 않습니다.
sort 라는 함수 자체가 dictionary 의 각 element 를 tuple 로 바꿔서 불러 온 다음에 비교 하나요?
정렬된 후의 orderedMeetingRooms 를 프린트 해 봤더니

[("Meeting", ["Picasso":10, "Banksy":4, "Kahlo":8, "Rivera":8]), ("Seminar", ["Cezanne":20, "Matisse":30, "Renoir":40])]

이렇게 나왔습니다. 정렬된 결과가 tuple 을 element로 하는 array 라는 것은 앞 쪽에서 배워서 알고 있는데, 비교할 당시에도 그런지 궁금합니다.

이 부분이 해결되지 않아서 뒤쪽의 .first!.1 부분도 잘 이해가 가지 않습니다.
도와주십시오.

감사합니다.

  • #iOS Swift입문
  • #Meeting rooms 정렬1

1 답변

  • G3rlasealonpd5c2kica
    Demi
    • 2016.4.29 11:34

    dictionary는 순서가 없으므로 바로 비교할 수 없어, sort함수 내부에서 dictionary는 순서가 있는 타입으로 변환됩니다. 이 과정에서 dictionary에 아이템은 튜플형태로 바뀝니다.

    $0.1.first!.1 < $1.1.first!.1가 "Meeting"의 첫번째 방의 크기와 "Seminar"의 첫번째 방의 크기를 비교하는 코드라는건 아실 겁니다.
    찾아가는 과정을 그림으로 풀어쓰면 이렇게 됩니다

    이미지 이름이나 설명을 여기에 넣어주세요.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.