Menu
Coddy logo textTech

Contains 메서드

Coddy Swift 여정의 기초 섹션에 포함된 레슨. 86개 중 76번째.

배열을 다룰 때는 작업을 수행하기 전에 특정 값이 존재하는지 확인해야 하는 경우가 많습니다. Swift는 바로 이러한 목적을 위해 contains() 메서드를 제공합니다. 요소를 찾으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// 우리는 바나나가 있어요!

배열을 수동으로 검색하는 루프를 작성하는 것보다 훨씬 더 깔끔합니다. 이 메서드는 문자열, 숫자 또는 기타 값을 contains하는지 여부와 관계없이 모든 유형의 배열에서 작동합니다:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

일반적인 사용 사례는 사용자 입력을 허용된 값의 목록과 비교하여 검증하는 것입니다:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// 유효한 선택

contains() 메서드는 더 큰 문자열 안에 부분 문자열이 존재하는지 확인할 때 문자열에도 사용할 수 있습니다.

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

챌린지

쉬움

두 줄의 입력을 받습니다:

  1. 허용된 사용자 이름을 쉼표로 구분한 목록(예: admin,user,guest,moderator)
  2. 확인할 사용자 이름

사용자 이름이 허용된 목록에 존재하는지 확인하세요. 존재하면 Access granted를 출력하세요. 존재하지 않으면 Access denied를 출력하세요.

단계:

  1. 쉼표로 구분된 목록을 읽고 문자열 배열로 분할하세요
  2. 확인할 사용자 이름을 읽으세요
  3. contains() 메서드를 사용하여 사용자 이름이 허용된 목록에 있는지 확인하세요
  4. 결과에 따라 적절한 메시지를 출력하세요

힌트: 문자열을 배열로 분할하려면 components(separatedBy:)를 사용하세요. 예:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

직접 해보기

// 허용된 사용자 이름의 쉼표로 구분된 목록을 읽습니다
let allowedList = readLine()!

// 확인할 사용자 이름을 읽습니다
let username = readLine()!

// TODO: 아래에 코드를 작성하세요
// 1. components(separatedBy:)를 사용하여 allowedList를 배열로 분할합니다
// 2. contains()를 사용하여 username이 배열에 있는지 확인합니다
// 3. Print "Access granted" or "Access denied" based on the result
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드