[백준(BOJ)] 1764 듣보잡 - 스위프트(Swift)

2023. 10. 9. 01:28· PS/BOJ
목차
  1. [Silver IV] 듣보잡 - 1764
  2. 성능 요약
  3. 분류
  4. 문제 설명
  5. 입력
  6. 출력
  7. 풀이

[Silver IV] 듣보잡 - 1764

문제 링크

성능 요약

메모리: 76048 KB, 시간: 80 ms

분류

자료 구조, 해시를 사용한 집합과 맵, 정렬, 문자열

문제 설명

김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.

듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다.

출력

듣보잡의 수와 그 명단을 사전순으로 출력한다.

 

풀이

처음엔 나타나는 듣도 못한 사람을 구한 뒤, 보도 못한 사람의 값을 받으면서 만약 듣도 못한 사람에 포함되면 배열에 추가해주는 방식으로 풀었습니다. 

여기서 주의할 점은 듣도 못한 사람은 Set을 통해 구현해주어야 하는데, 만약 배열로 구하게 된다면 시간초과가 나타나기 때문입니다.

배열에서 값을 탐색하는 것보다 Set에서 값을 탐색하는 것이 시간적으로 빠르기 때문입니다.

 

다음은 코드입니다.

let nm = readLine()!.split(separator: " ").map { Int($0)! }
let (n, m) = (nm[0], nm[1])
var (noHear, ans) = (Set<String>(), [String]())

for _ in 0..<n {
    let input = readLine()!
    noHear.insert(input)
}

for _ in 0..<m {
    let input = readLine()!

    if noHear.contains(input) {
        ans.append(input)
    }
}

ans.sort()

print(ans.count)
print(ans.joined(separator: "\n"))

 

728x90

'PS > BOJ' 카테고리의 다른 글

[백준(BOJ)] 13549 숨바꼭질 3 - 스위프트(Swift)  (2) 2023.10.17
[백준(BOJ)] 1620 나는야 포켓몬 마스터 이다솜 - 스위프트(Swift)  (4) 2023.10.09
[백준(BOJ)] 1927 최소 힙 - 스위프트(Swift)  (0) 2023.09.28
[백준(BOJ)] 1463 1로 만들기 - 스위프트(Swift)  (0) 2023.09.27
[백준(BOJ)] 1003 피보나치 함수 - 스위프트(Swift)  (0) 2023.09.27
  1. [Silver IV] 듣보잡 - 1764
  2. 성능 요약
  3. 분류
  4. 문제 설명
  5. 입력
  6. 출력
  7. 풀이
'PS/BOJ' 카테고리의 다른 글
  • [백준(BOJ)] 13549 숨바꼭질 3 - 스위프트(Swift)
  • [백준(BOJ)] 1620 나는야 포켓몬 마스터 이다솜 - 스위프트(Swift)
  • [백준(BOJ)] 1927 최소 힙 - 스위프트(Swift)
  • [백준(BOJ)] 1463 1로 만들기 - 스위프트(Swift)
Dev_Ted
Dev_Ted
250x250
Dev_Ted
프로그래밍 성장기
Dev_Ted
전체
오늘
어제
  • 분류 전체보기 (124)
    • CS (10)
      • 자료구조 (Data Structure) (1)
      • 알고리즘 (Algorithm) (5)
      • 데이터베이스 (Database) (0)
      • 네트워크 (Network) (0)
      • 컴퓨터 구조 (Computer Architecture) (0)
      • 운영체제 (Operating System) (0)
      • 프로그래밍 언어 (Programming Language) (2)
    • PS (78)
      • BOJ (78)
      • LeetCode (0)
    • Swift (6)
      • 문법 (0)
    • iOS (22)
      • UIKit (5)
      • SwiftUI (4)
      • 디자인 패턴 (2)
      • NumberterKit (3)
    • 인프라 (Infrastructure) (1)
      • 도커 (Docker) (1)
      • NGINX (0)
    • 책 (1)
    • 기타 (6)
      • Error (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • DP
  • 백준
  • 스택
  • PS
  • BOJ
  • 그리디
  • 큐
  • Data Structure
  • 이분 탐색
  • 문제해결
  • ios
  • 정렬
  • apple
  • SWIFT
  • 자료 구조
  • 그리디 알고리즘
  • 알고리즘
  • 투 포인터
  • 자료구조
  • 스위프트

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Dev_Ted
[백준(BOJ)] 1764 듣보잡 - 스위프트(Swift)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.