22
配電盤上の一部のスイッチを反転する
この挑戦に触発されました。 ゴール: 事前に設定されたスイッチボードとインデックスのリストを指定すると、指定されたインデックスでスイッチを反転します。 配電盤は、いくつかのスイッチ(vまたは^)でラップ-され、さまざまな長さの列に配置されます。スイッチボードの例を次に示します。 -v-^-v- -^-v- -v-^-v- スイッチを反転/反転するとは、スイッチをvから^、またはから^に変更することを意味しvます。 スイッチには左から右、上から下にインデックスが付けられています。たとえば、上記の例vでは、最初の行の最後が位置3にあり^、中央の行が4にあります(1インデックスを使用)。 入力: スイッチボードを表す文字列(または文字列のリスト)。正規表現と一致することが保証されてい((-[v^])+-)(\n(-[v^])+-)*ます。 インデックスを表す番号の空のリストは、0または1(または必要に応じて任意の番号)になります。これらは、反転する必要があるスイッチです。 出力: 指定されたスイッチが反転した入力と同じ形状の配電盤。指定されていないスイッチは、初期状態を保持する必要があります。 ルール: 入力は常に正しくフォーマットされ、指定されたインデックスが範囲外になることはありません。 インデックスのリストはソートされ、重複はありません。 答えには、0、1、または任意のインデックスを使用してください。 出力が入力のように見える限り、末尾の空白は問題ありません。 これはコードゴルフなので、最短のコードが優先されます。 例: #Using 1-indexing input: #Empty Case [], -v-^-v- output: -v-^-v- input: #Single switch [1], -v- output: -^- input: #Skip a line [3,5], -^-v-v- -v- -^-^- output: -^-v-^- -v- -v-^- input: …