[Question] BOJ 1181번 문제
Opened this issue · 0 comments
taek0622 commented
백준 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")
등과 같은)이 나와야 할 것 같은데, 현재 단어가 나오는 이유가 무엇일까?