Đó là từ Nữ tính hay Nam tính?


12

Viết một chương trình hoặc chức năng mà mất trong một chuỗi duy nhất chứa az chỉ chữ thường, và in hoặc lợi nhuận một truthy giá trị nếu từ đó là nữ tính phiên bản của điều nó đại diện và một falsy giá trị nếu nó là nam tính phiên bản. Ví dụ, henlà phiên bản nữ tính cho gà và roosterlà phiên bản nam tính, vì vậy hencó thể sản xuất 1roostercó thể sản xuất 0.

Làm điều này cho tất cả các từ tiếng Anh phản ánh giới tính tất nhiên sẽ quá khó sử dụng. Chương trình / chức năng của bạn chỉ cần hỗ trợ 20 cặp nam / nữ. Dưới đây là năm bộ 10 cặp nam / nữ, được phân loại theo chủ đề. Chọn bất kỳ hai trong số các bộ; tổng số 20 cặp trong hai bộ này là 40 từ mà chương trình / chức năng của bạn phải hoạt động.

(định dạng là masculine_version feminine_version)

  1. Chung

    he she
    him her
    man woman
    boy girl
    male female
    masculine feminine
    guy gal
    lad lass
    mister miss
    sir madam
    
  2. Gia đình

    father mother
    dad mom
    pa ma
    son daughter
    brother sister
    husband wife
    grandfather grandmother
    grandpa grandma
    uncle aunt
    nephew niece
    
  3. Thú vật

    lion lioness
    rooster hen
    stallion mare
    bull cow
    drake duck
    boar sow
    buck doe
    ram ewe
    gander goose
    billy nanny
    
  4. Hoàng Gia

    king queen
    prince princess
    emperor empress
    duke duchess
    marquess marchioness
    earl countess
    baron baroness
    baronet baronetess
    lord lady
    knight dame
    
  5. Tưởng tượng

    wizard witch
    giant giantess
    incubus succubus
    nidorino nidorina
    nidoking nidoqueen
    ents entwives
    hanuvoite inimeite
    centaur centaurides
    merman mermaid
    khal khaleesi
    

Vì vậy, ví dụ, bạn có thể chọn danh mục Chung và Gia đình. Sau đó, bất kỳ đầu vào từ heđể sirhoặc fatherđể nephewsẽ tạo ra một giá trị falsy, và bất kỳ đầu vào từ sheđể madamhoặc motherđể niecesẽ tạo ra một giá trị truthy.

Tất cả các giá trị không phải là cùng loại / sai, ví dụ: hecó thể tạo ra 0nhưng sircó thể tạo ra false. Bạn chỉ có thể giả sử 40 từ az chữ thường cụ thể từ hai danh mục đã chọn của bạn được nhập vào.

Câu trả lời ngắn nhất trong byte thắng. Tiebreaker là bài trước.

(Thách thức này không có nghĩa là tương quan với hoặc đưa ra tuyên bố về bất kỳ vấn đề xã hội dựa trên giới tính hiện tại nào .)



Không nên countlà nam tính của countess?
mbomb007


3
Ba câu trả lời, tất cả Retina.
Alex A.

Câu trả lời:


9

Võng mạc , 26 byte (bộ 4, 5)

[^u]es|ee|m.i|y|^...c|d.*a

Retina là ngôn ngữ regex của @ MartinBüttner. Tôi chưa sử dụng bất cứ thứ gì cụ thể cho .NET regexes, vì vậy bạn có thể kiểm tra regex tại Regex101 tại đây . Ngoài ra, bạn có thể sử dụng Gchế độ grep của Retina như vậy:

G`[^u]es|ee|m.i|y|^...c|d.*a

và đường ống trong một tệp có một từ trên mỗi dòng để kiểm tra hàng loạt.

Retina xuất số lượng trận đấu theo mặc định, mang lại cho chúng tôi giá trị trung thực / giả. Quy tắc "tất cả các giá trị không phải là cùng loại / sai sự thật" là khá quan trọng mặc dù vì marchionesskhớp hai lần, cho đầu ra là 2.

(Sử dụng phương pháp xâu chuỗi từ câu hỏi nam / nữ trước đó dường như ngắn hơn trong CJam, nhưng tôi sẽ để người khác làm điều đó)


2
thời gian không bao giờ lãng phí cho một biểu hiện thông thường
CousinCocaine


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.