From 5a8875912d96169fdcde69441ed391386b71ff66 Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Sat, 7 Feb 2026 22:13:17 +0900 Subject: [PATCH] logseq 20260207 --- pages/Swift.md | 65 +++++++++++++++++++++- pages/토익 모의문제 오답노트 (26년 2월).md | 18 +++++- 2 files changed, 81 insertions(+), 2 deletions(-) diff --git a/pages/Swift.md b/pages/Swift.md index b0a5eca..ff0e256 100644 --- a/pages/Swift.md +++ b/pages/Swift.md @@ -128,7 +128,70 @@ deck:: Logseq/coding tip print(counts) ``` - - + - ### **◼︎ .contains()** + - ### **정의** + - 컬렉션에 특정 요소가 포함되어 있는지 확인하여 {{c1 Bool(true/false)}} 값을 반환한다. + id:: 6987060f-b1a1-4deb-90dc-8f8f69a40d15 + - ### **사용법** + - **String(문자열)** + - 문자열 내부의 부분 문자열 포함 여부를 확인한다. (대소문자 구분함) + id:: 69870822-687f-409d-a247-e787328368a5 + **Code:** + ```swift + let message = "Hello, Swift World!" + + // 기본 사용 + let hasSwift = message.contains("Swift") // {{c1 true}} + let hasLowerCase = message.contains("swift") // {{c1 false}} (대소문자 구분) + + // 팁: 대소문자 무시하고 찾으려면? + let hasIgnoredCase = message.lowercased().contains("swift") // {{c1 true}} + ``` + - **Array(배열)** + - 배열 안의 특정 요소를 찾는다. + id:: 69870822-58f6-4fef-97ad-cb2005b13180 + **Code:** + ```swift + let numbers =[4, 6, 16, 17, 18] + let fruits = ["Apple", "Banana", "Cherry"] + + let hasFive = numbers.contains(5) // {{c1 true}} + let hasGrape = fruits.contains("Grape") // {{c1 false}} + ``` + - **조건(Closure)을 만족하는 요소 찾기** + - contains( {{c1 where:}} ) 메서드를 사용한다. + id:: 69870822-02bc-45bc-a967-7848332320a1 + 클로저가 true를 반환하는 요소를 찾는 즉시 탐색을 종료하고 true를 반환한다. + - 예제1 - numbers 배열에 짝수가 하나라도 있는지 검사하는 코드를 작성하라. #card + id:: 698709ba-a5ae-4eb8-adb4-5766aae37832 + - ```swift + let numbers =[1, 2, 16, 17, 4] + + let hasEvenNumber = numbers.contains(where: { (number: Int) -> Bool in + return number % 2 == 0 + }) + + // 클로저 축약 및 후행 클로저 적용 + let hasEvenNumber = numbers.contains{ $0 % 2 == 0 } + ``` + - **Dictionary(딕셔너리)에서 사용** + - contains(where:) 메서드를 활용해서 클로저를 활용해서 조건을 찾는다. + id:: 69870a4c-f7bf-42a7-bec9-4bd02966bad0 + 이때 클로저에 전달되는 매개변수는 {{c1 (key, value)의 튜플}} 이다. + - 예제 - 이름(문자열) : 점수(정수)로 구정된 scores 딕셔너리에서 90점이 넘는 사람이 있는지 검사하는 코드를 작성하라 #card + id:: 69870cbb-f2af-494a-bb49-92a1126ad5a7 + - ```swift + let scores = ["Alice": 90, "Bob": 80, "Charlie": 85] + + // "점수가 90점인 사람이 있는가?" + let hasPerfectScore = scores.contains(where: { (key: String, value: Int) -> Bool in + return value == 90 + }) + + // 매개변수가 튜플 하나이므로 각 요소를 $0.key, $0.value로 접근 해서 축약 및 후행클로저 사용 가능 + let hasPerfectScoreSimple = scores.contains { $0.value == 90 } + ``` + - - - ## **► 클로저(Closure)** - ### **◼︎ 정의** #card diff --git a/pages/토익 모의문제 오답노트 (26년 2월).md b/pages/토익 모의문제 오답노트 (26년 2월).md index eaf08bf..3ea4f91 100644 --- a/pages/토익 모의문제 오답노트 (26년 2월).md +++ b/pages/토익 모의문제 오답노트 (26년 2월).md @@ -74,4 +74,20 @@ deck:: Logseq/토익공부 - 의미상 능동의 의미이므로 최종 정답은 (C)이다. - 해석 : 약물에 의한 심각한 부작용을 경험한 환자들은 즉시 그들의 의사에게 방문해서 새로운 처방을 논의해야한다. - 내 오답 : (B) experiencing - - 우선 severe 라는 단어를 serve(제공하다) 라고 봐버리는 바람에 동사가 이미 있다고 판단해버렸다. 그렇게 해석하면서 어색함을 느꼈지만 내가 못해서 그런거라고 생각하면서 빈칸이 분사자리라고 판단하게 되었고 능동의 의미라고 판단해서 현재분사인 (B)를 골랐다. \ No newline at end of file + - 우선 severe 라는 단어를 serve(제공하다) 라고 봐버리는 바람에 동사가 이미 있다고 판단해버렸다. 그렇게 해석하면서 어색함을 느꼈지만 내가 못해서 그런거라고 생각하면서 빈칸이 분사자리라고 판단하게 되었고 능동의 의미라고 판단해서 현재분사인 (B)를 골랐다. +- +- 해커스 토익 레벨테스트 (푼 날짜 : 2026.02.07) + id:: 698719ba-af50-4075-a5c7-aefe3ae7f8a7 + **2. Jill Senderson said that the smartphone the cleaning woman found in the second floor bathroom turned out to be ______** + 🄐 her + 🄑 she + 🄒 hers + 🄓 herself + #card + - 답 : (C) hers + - 빈칸에 들어갈 인칭대명사의 격을 찾는 문제이다. + - 해석상 스마트폰이 _____으로 밝혀진 것 이기 때문에 적절한 것은 소유격인 hers이다. + - 해석 : Jill Senderson은 청소부가 2층 화장실에서 발견한 스마트폰이 그녀의 것으로 밝혀졌다고 말했다. + - 내 오답 : (D) herself + - 주어진 문장에서 the smartphone과 the cleaning woman이라는 관사가 적힌 2개의 명사가 사이에 아무것도 없이 연결되어 있어서 혼란스러워하면서 제대로 해석하지 못했다. + - 이 경우 목적격 관계대명사가 생략된 것이기에 그에 맞게 해석했어야 했다. \ No newline at end of file