Lý lịch
Tôi hiện đang tham gia lớp AP Comp Sci A: Java và tôi muốn bắt đầu một số người bạn của mình chơi golf. Tôi có một thử thách từ khóa học, và tôi muốn xem cộng đồng có thể thực hiện thử thách này bao nhiêu byte.
Chi tiết thử thách:
Cho hai chuỗi đầu vào, chuỗi chính và chuỗi trục, thực hiện như sau:
Nếu chuỗi trục chính xác một lần là chuỗi con của chuỗi chính, phần của chuỗi chính đi trước chuỗi trục sẽ được hoán đổi với phần đi sau, trong khi vẫn giữ trật tự trong chuỗi phụ được nói .
Ví dụ:
Nếu chuỗi trục trống hoặc chuỗi trục không được tìm thấy trong chuỗi chính, chương trình không phải có hành vi được xác định.
Nếu có nhiều hơn một phiên bản của chuỗi trục, sự phân tách sẽ xảy ra ở lần đầu tiên và chỉ là phiên bản đầu tiên của trục.
Ví dụ: Cho chuỗi chính OneTwoThreeTwoOne
và chuỗi trục Two
, đầu ra phải là ThreeTwoOneTwoOne
.
Cho chuỗi chính 1Two2Two3Two4
và trục Two
, đầu ra phải là 2Two3Two4Two1
.
Cho chuỗi chính OneTwoThree
và chuỗi trục "Hai", đầu ra phải là ThreeTwoOne
. Cho chuỗi chính the rabbit is faster than the turtle
và chuỗi trục
is faster than
(lưu ý dấu vết không gian đơn và trước đó), đầu ra phải là the turtle is faster than the rabbit
.
Cho chuỗi chính 1-2-3-4-5-6
và trục -
, đầu ra phải là 2-3-4-5-6-1
.
Lời bạt:
Đây là câu hỏi đầu tiên của tôi về môn đánh gôn, vì vậy nếu bạn có đề xuất hoặc phê bình mang tính xây dựng, thì hãy thoải mái nói như vậy.
Ngoài ra, mã của tôi cho dự án này (được viết bằng Java vì khóa học tập trung vào đó) có thể được tìm thấy bên dưới. Nếu bạn có bất cứ lời khuyên nào, tôi rất muốn thấy chúng. Nó hiện có 363 byte, nhưng tôi cá rằng các bạn có thể đưa ra các giải pháp tốt hơn và nhỏ hơn nhiều.
import java.util.Scanner;interface Main{static<T>void D(T f){System.out.println(f);}static void main(String[]A){Scanner s=new Scanner(System.in);D("Enter the first String:");String a=s.nextLine();D("Enter the pivot String:");String p=s.nextLine();if(p.isEmpty()|!a.contains(p)){D("Error: Pivot String not found.");return;}String w[]=a.split(p,2);D(w[1]+p+w[0]);}}
Lưu ý: Văn bản cho các đầu vào và trong trường hợp không tìm thấy chuỗi trục là bắt buộc đối với bài tập gốc, nhưng không phải cho thử thách này.
2-3-4-5-6-1
.
pivot='-'
và làmain='1-2-3-4-5-6'
gì? Hầu hết các bài nộp đầu ra2-3-4-5-6-1
cho điều này, nhưng theo tôi hiểu thì đó là thách thức2-1-3-4-5-6
.