Insert Dots at Indexed Positions
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
題目說明
輸入一個長度為 L 的字串 s。然後輸入一個整數 k,接著輸入 k 個整數 i1, i2, ..., ik,皆在區間 [0, L-1],且已排序為非遞減(後者大於等於前者)。
需要在「原始字串的指定位置」加入英文句點 .:在索引 i1 的字元之後加入一個句點、在索引 i2 的字元之後再加入一個句點,…,直到在索引 ik 的字元之後再加入一個句點。
加入句點的位置以原始字串 s 為準,也就是說,先決定每個句點的加入位置,再加入句點。加入的句點不會影響其他句點的加入位置。如果兩個加入點相同,表示要在同一位置加入多個句點。
輸出為完成所有句點加入後的新字串。
輸入值的格式
- 第一行:字串 s,滿足:
僅包含英文字母 A–Z, a–z。
1 ≤ L ≤ 20。
不包含任何空白或其他符號。
- 第二行:整數序列:
- 第一個數為整數 k,0 ≤ k ≤ 100。
- 接著為 k 個整數 i1, i2, ..., ik,每個數字的最小值都是 0,最大值都是 L-1。
- 已排序為非遞減,後面的數字都大於等於前面的數字,並且允許相等,表示重複插入。
輸出值的格式
- 僅輸出在原始 s 的指定位置加入句點後的字串。
各種需要注意的邊界條件
- k = 0:字串本身不插入任何句點。
- 重複索引:若多個 i 相同,須在同一個原始位置加入相對應數量的句點。
- 最小與最大索引:允許在索引 0 與索引 L-1 處插入;索引 L-1 代表最後一個字元之後插入。
- 連續索引:如 0,1,2,… 表示在相鄰多個原始位置各插入句點。
sample input1
Abcdef
3 0 2 4sample output1
A.bc.de.f解釋:在位置 0、2、4 各插入 1 個句點。
sample input2
Mike
3 1 1 1sample output2
Mi...ke解釋:位置 1 重複三次,於 Mi 後插入三個句點。
Comments