Menu
CoddyTech

Tìm mẫu

Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 85 trên 86.

challenge icon

Thử thách

Dễ

Đọc hai dòng đầu vào: dòng thứ nhất là văn bản cần tìm kiếm, dòng thứ hai là mẫu cần tìm.

Đếm số lần mẫu xuất hiện trong văn bản, kể cả các lần xuất hiện chồng lấp, rồi in số lượng đó ra.

Yêu cầu:

  1. Đọc chuỗi văn bản từ dòng đầu tiên của đầu vào
  2. Đọc chuỗi mẫu từ dòng thứ hai của đầu vào
  3. Duyệt qua văn bản và kiểm tra mẫu ở từng vị trí
  4. Đếm tất cả các lần xuất hiện, kể cả những lần khớp chồng lấp
  5. In tổng số lần xuất hiện dưới dạng một số nguyên duy nhất

Gợi ý: Để trích xuất một chuỗi con bắt đầu tại chỉ số i với độ dài cụ thể, bạn có thể dùng cách cắt chuỗi với các chỉ số. Hãy chuyển chuỗi thành mảng ký tự hoặc dùng cách thao tác với chỉ số chuỗi của Swift để kiểm tra xem mẫu có khớp ở từng vị trí hay không.

Ví dụ:

Nếu đầu vào là:

ababa
aba

Đầu ra sẽ là:

2

Mẫu "aba" xuất hiện tại chỉ số 0 và chỉ số 2 trong "ababa".

Tự làm thử

// Đọc đầu vào
let text = readLine()!
let pattern = readLine()!

// TODO: Viết code bên dưới
// Đếm số lần pattern xuất hiện trong text (kể cả các lần xuất hiện chồng lấp)


// In kết quả ra
print(count)

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Swift