Hoạt động chuỗi python 2 giải pháp hackerrank

Bạn có một chuỗi các chữ cái tiếng Anh viết thường. Bạn có thể thực hiện hai loại thao tác trên chuỗi

  1. Nối một chữ cái tiếng Anh viết thường vào cuối chuỗi
  2. Xóa ký tự cuối cùng trong chuỗi. Thực hiện thao tác này trên một chuỗi rỗng dẫn đến một chuỗi rỗng

Cho trước một số nguyên k và hai chuỗi s và t, hãy xác định xem bạn có thể chuyển đổi s thành t hay không bằng cách thực hiện chính xác k thao tác trên trên s. Nếu có thể, hãy in Yes. Nếu không, hãy in No

Ví dụ: chuỗi s=[a,b,c] và t=[d,e,f]. Số lần di chuyển của chúng tôi, k=6. Để chuyển đổi s thành t , trước tiên chúng tôi xóa tất cả các ký tự trong 3 lần di chuyển. Tiếp theo, chúng tôi thêm từng ký tự của t theo thứ tự. Ở nước đi thứ 6, bạn sẽ có chuỗi phù hợp. Nếu có nhiều nước đi hơn, chúng có thể đã bị loại bỏ bằng cách thực hiện nhiều lần xóa trên một chuỗi trống. Nếu có ít hơn 6 nước đi, chúng tôi sẽ không thành công trong việc tạo chuỗi mới

Giải pháp trong Python 3

Đầu tiên, chúng ta sẽ đếm số lần các ký tự trong s và t bằng nhau cho đến khi chúng ta gặp trường hợp ký tự trong s không bằng ký tự tương ứng trong t. Chúng tôi sẽ lưu trữ số lần xuất hiện phù hợp trong một biến có tên là Matching_occurrences

Ví dụ: nếu chuỗi, s = “hackerrank” và t=“hackerhappy” thì Match_occurrences = 6 vì cả s và t đều có chuỗi con “hacker”. chúng tôi thoát ra khỏi vòng lặp for khi các ký tự tương ứng không bằng nhau trong trường hợp này là s[6]. =t[6] i. e “r”. =”h”

Tiếp theo, chúng tôi sẽ thực hiện hai kiểm tra,

  1. Nếu cộng số bước đi đã cho i. e k và 2 x lần xuất hiện trùng khớp bằng với các ký tự trùng khớp, (vì nếu nhân số lần xuất hiện với 2, chúng ta sẽ nhận được tổng số ký tự trùng khớp) lớn hơn hoặc bằng tổng độ dài của chuỗi đã cho i. e tot_len và nếu cả tổng chiều dài và k có mô đun bằng 2 i. k và tot_len là chẵn hay là lẻ

2. Nếu tổng chiều dài tôi. e tot_len nhỏ hơn ‘k’

In this example, s=’asdfqwertyuighjkzxcvasdfqwertyuighjkzxcvasdfqwertyuighjkzxcvasdfqwertyuighjkzxcvasdfqwertyuighjkzxcv’ , t = ‘bsdfqwertyuighjkzxcvasdfqwertyuighjkzxcvasdfqwertyuighjkzxcvasdfqwertyuighjkzxcvasdfqwertyuighjkzxcv’ and k = 100

Không thể chuyển đổi s thành t trong 100 lần xuất hiện vì có 0 lần xuất hiện phù hợp trước một lần xuất hiện trong đó các ký tự tương ứng trong các chuỗi đã cho là không bằng nhau, ở đây phương trình của lần kiểm tra đầu tiên là 2*matched_occurrences+k = 2*0+100 nhỏ hơn . Ví dụ trên cũng không rơi vào trường hợp cạnh có tổng chiều dài nhỏ hơn k

Nếu tổng độ dài lớn hơn hoặc bằng tổng của 2 * Match_occurences và k, thì không thể chuyển đổi s thành t. (ngoại trừ một số trường hợp cạnh có tổng chiều dài nhỏ hơn k)

Chuỗi Python là một chuỗi các ký tự Unicode được đặt trong dấu ngoặc kép. Trong bài viết này, chúng ta sẽ thảo luận về hàm dựng sẵn i. e. các hàm do Python cung cấp để hoạt động trên các chuỗi.  

Ghi chú. Mọi phương thức chuỗi không thay đổi chuỗi ban đầu thay vào đó trả về một chuỗi mới với các thuộc tính đã thay đổi.  

Suriya Krishna Mohan Click here to view Suriya Krishna Mohan’s profile

Suriya Krishna Mohan

tia lửa. Kafka. Hadoop. tổ ong. HBase. Nhà phát triển đường ống dữ liệu. Dữ liệu lớn. NoSql. amazon S3. API nghỉ ngơi. Kỹ sư dữ liệu. Đang chuyển đổi sang Đám mây…

Các vấn đề về Python xếp hạng Hacker còn lại sẽ sớm được xuất bản

Cân nhắc kiểm tra các tài nguyên hữu ích khác bên dưới

Theo dõi 24hhướng dẫn

Python - Thao tác chuỗi 2

 

Rajesh đang cố gắng viết một chương trình sẽ đánh giá và sửa sơ yếu lý lịch của anh ấy

 

Xác định một hàm gọi là ` resume ` nhận tám tham số. Tất cả thông số đều là chuỗi.

 

  • Tham số đầu tiên first là tên.
  • tham số thứ hai  thứ hai là tên thứ hai
  • tham số thứ ba  cha mẹ là tên của cha hoặc mẹ
  • tham số thứ tư  city là tên của thành phố
  • tham số thứ năm chứa số điện thoại ở định dạng chuỗi
  • tham số thứ sáu và thứ bảy chứa một chuỗi đơn
  • tham số thứ tám chứa câu chuỗi

 

Sơ khai mã định nghĩa hàm được cung cấp trong trình chỉnh sửa. Tạo báo cáo in  dựa trên các điều kiện được đưa ra bên dưới.

 

  • Xóa khoảng trắng ở cả hai đầu của chuỗi (thứ nhất, thứ hai, cha mẹ, thành phố)
  • Viết hoa từ đầu tiên cho các chuỗi (thứ nhất, thứ hai, cha mẹ)
  • in các chuỗi đầu tiên, thứ hai, cha mẹ và d cách nhau bằng dấu cách
  • kiểm tra xem chuỗi phone chỉ chứa các ký tự số và in kết quả
  • kiểm tra xem chuỗi điện thoại có bắt đầu bằng chuỗi bắt đầu không và in kết quả
  • in số lần chuỗi strfind xuất hiện trong các chuỗi (thứ nhất, thứ hai, cha mẹ, thành phố)
  • tách chuỗi string1 bằng chức năng tách và in kết quả
  • sử dụng phương thức find để tìm vị trí của chuỗi strfind trong thành phố

 

Hạn chế

  • Mỗi đầu vào là Chuỗi

 

Trường hợp mẫu 0

 

đầu vào mẫu

STDIN                  Function
-----                  --------
   firstname           →  first 
    lastname           →  second 
father                 →  parent 
city                   →  city 
9874563214             →  phone 
9                      →  start 
y                      →  strfind 
any sentence goes here →  string1

 

Đầu ra mẫu

Firstname Lastname Father city
True
True
1
['any', 'sentence', 'goes', 'here']
3

 

 



#. /bin/python3


nhập   toán học

nhập   os

nhập   ngẫu nhiên

nhập   lại

nhập   hệ thống




#

# Hoàn thành chức năng 'sơ yếu lý lịch' bên dưới

#

# Hàm được dự kiến sẽ in một CHUỖI

# Hàm chấp nhận các tham số sau

#  1. STRING đầu tiên

#  2. STRING giây

#  3. STRING cha mẹ

# 4. STRING thành phố

#  5. STRING điện thoại

#  6. STRING bắt đầu

#  7. STRING strfind

# số 8. STRING chuỗi1

#


def   sơ yếu lý lịch(đầu tiên, second, parent, city, phone, start, strfind, string1):

     # Viết mã của bạn vào đây

     đầu tiên  =  đầu tiên . cởi bỏ()

     đầu tiên  =  đầu tiên . viết hoa()

     giây  =  giây . cởi bỏ()

     giây  =  giây . viết hoa()

     cha mẹ  =  cha mẹ . cởi bỏ()

     cha mẹ  =  cha mẹ . viết hoa()

     in(đầu tiên,second,parent,city.cởi bỏ())

     máy in(điện thoại . số())

     máy in(điện thoại . bắt đầu với(bắt đầu))

     a  =  đầu tiên + second+parent+city

     in(a . đếm(strfind))

     print(string1 . tách())

     in(thành phố . tìm(strfind))


if  __ tên__  ==  '__main__'< . :


     a  =  đầu vào()


     b  =  đầu vào()


     c  =  đầu vào()


     d  =  đầu vào()


     ph  =  đầu vào()


     không  =  đầu vào()


     ch  =  đầu vào()


     str  =  đầu vào()


    sơ yếu lý lịch(a, b, c, d, ph, no, ch, str)