Where who wants to meet someone
백준 Swift [26069] 붙임성 좋은 총총이 본문
728x90
난이도
실버 IV
문제
https://www.acmicpc.net/problem/26069
내 답안
var dancingPeople: Set<String> = ["ChongChong"]
for _ in 1...Int(readLine()!)! {
let meeting = readLine()!.split(separator: " ").map { String($0) }
let firstPerson = meeting[0]
let secondPerson = meeting[1]
if dancingPeople.contains(firstPerson) {
dancingPeople.insert(secondPerson)
} else if dancingPeople.contains(secondPerson) {
dancingPeople.insert(firstPerson)
}
}
print(dancingPeople.count)
- 춤추는 사람을 별도로 관리하고, 그 사람을 만났을 때 다른 한 사람을 그 그룹에 넣어주면 된다고 생각했다.
- 1. 초기 dancingPeople에는 ChongChong만 있다.
- 2. for문을 돌면서 meeting이 이뤄지고, firstPerson과 secondPerson을 구분
- 3-1. firstPerson이 dancingPeople에 있으면 secondPerson을 그룹에 추가
3-2. secondPerson이 dancingPeople에 있으면 firstPerson을 그룹에 추가
3-3. 둘 다 그룹에 없으면 아무 일도 일어나지 않음 - 4. dancingPeople 그룹의 count 출력
'백준 알고리즘 문제 기록 > 심화 2' 카테고리의 다른 글
백준 Swift [20920] 영단어 암기는 괴로워 (0) | 2023.09.12 |
---|---|
백준 Swift [2108] 통계학 (0) | 2023.09.12 |
백준 Swift [25192] 인사성 밝은 곰곰이 (0) | 2023.09.11 |
백준 Swift [1037] 약수 (0) | 2023.09.11 |