taek0622/Algorithm-Notes

[Question] BOJ 1181번 문제

Opened this issue · 0 comments

백준 1181번 문제의 3번 풀이 마지막 부분에 대한 의문이다.
내가 1181번 문제를 해결한 방법 중 3번째 풀이 방법은 아래와 같다.

let N = Int(readLine()!)!
var words = Set<String>()
var copiedWords = [String]()

for _ in 0..<N {
    words.insert(readLine()!)
}

copiedWords = Array(words)

let wordTuple: [(Int, String)] = copiedWords.map { ($0.count, $0) }

print(wordTuple.sorted(by: { $0.0 == $1.0 ? $0.1 < $1.1 : $0.0 < $1.0 }).map { $0.1 }.joined(separator: "\n"))

해당 코드의 마지막 줄에 map을 하는 부분에서 나는 map { $0.1 }이라는 방법을 사용했지만, 해당 부분을 map { $1 }로 작성해도 결과가 같게 나온다. 내가 생각했을 때, $1은 그 다음 튜플(예를 들면 (2, "hi") 등과 같은)이 나와야 할 것 같은데, 현재 단어가 나오는 이유가 무엇일까?