Giới thiệu Kata

Bài Kata này được lấy từ blog của Robert Martin cùng với một lời giải viết bằng Java.

Mô tả bài toán

Bạn hãy viết một lớp có tên là Wrapper, lớp này có phương thức wrap nhận vào 2 đối số: một chuỗi (string) và một số nguyên. Phương thức này trả về chuỗi được với những ký tự xuống dòng chèn được chèn đúng chỗ để đảm bảo không dòng nào dài hơn số cột được chỉ định bởi tham số thứ hai truyền vào phương thức. Bạn cần đảm bảo việc ngắt dòng hợp lý sao cho các từ không bị bẻ giữ chừng.

Phương thức này giống như một bộ xử lý văn bản, bẻ dòng bằng cách thay thế khoảng trắng cuối cùng với kí tự xuống dòng.

Các lời giải trên những ngôn ngữ khác nhau:

Các giải thuật khác nhau

PeterKofler đã làm bài Kata này vài lần bằng Java với những cách làm khác nhau. Các giải thuật làm tăng độ phức tạp của code nhưng giảm số lần thay thế. Có thể xem chi tiết các giải thuật này tại đây.

Nguồn Kata: http://codingdojo.org/kata/WordWrap/


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.