강의로 돌아가기
Kim  YangBan

Set 이 아닌 상태인데 교집합 구하게 하는 문제?

미리 적힌 배열이 Set 이 아니라 Array 라서 교집합인 intersect (intersection) 을 사용할 수가 없음
실행하면 [String] 에서는 intersect 사용할 수 없다고 에러뜨네요

Set(heros.map { $0 }).intersection(Set(oppHeros.map { $0 }))

이렇게 억지로 Set 으로 만들어주고 intersection하면 되네요.

아니면 그냥 정답에 [고블린 통] 적어도 됨...

작성중인 코드―Solution.swift
1
2
3
4
5
6
7
8
9
import Foundation

let heros = ["프린스", "마녀", "해골 군대", "고블린 통"]
let oppHeros = ["자이언트 해골", "고블린 통", "대형석궁"]

// 상대와 겹치는 영웅들로 이뤄진 set을 완성하세요
let intersectHeros = Set(heros.map { $0 }).intersection(Set(oppHeros.map { $0 }))

print(intersectHeros)
1 개의 답변
Demi

본 강의의 내용은 Swift2 + Xcode7 버전 기준으로서, 제작 시점 당시의 최신 버전으로 구성되어 있으며 업데이트가 이뤄지지 않고 있습니다.
이에 반해 프로그래머스 시스템이 사용하는 Swift 버전은 업그레이되었기 때문에 미스매치가 일어날 수 있습니다.

Swift와 iOS 관련한 최신 내용 학습을 원하시는 경우, 프로그래머스의 어서와! Swift는 처음이지? 강의를 참고해주시기 바랍니다.

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