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 為準,也就是說,先決定每個句點的加入位置,再加入句點。加入的句點不會影響其他句點的加入位置。如果兩個加入點相同,表示要在同一位置加入多個句點。

輸出為完成所有句點加入後的新字串。

輸入值的格式

  1. 第一行:字串 s,滿足:
  • 僅包含英文字母 A–Z, a–z。

  • 1 ≤ L ≤ 20。

  • 不包含任何空白或其他符號。

  1. 第二行:整數序列:
  • 第一個數為整數 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 4

sample output1

A.bc.de.f

解釋:在位置 0、2、4 各插入 1 個句點。

sample input2

Mike
3 1 1 1

sample output2

Mi...ke

解釋:位置 1 重複三次,於 Mi 後插入三個句點。


Comments

There are no comments at the moment.