5
タブを半分に分割する
スペース対タブをめぐって聖戦が繰り広げられてきました。(そしてもちろん、客観的に優れているスペースが勝ちました。)— アレックスA. S青梅PEO Pルはまだ拒否していることccept WHI のC HがClである電子アルリーの upreme。あなただけ受け取った incorを使用してファイルを再、CT Bの広告を、そしてINF のE WHIのriorフォームトンエスパス、そして今ではt彼続きのEファイルのNTS のR eは、汚染されたと台無しに。 あなたは、あなたにファイルを送った人に、彼らがどれだけ間違っているかを示すこともできます。 説明 タイトルが示すように、あなたの課題は、1つ以上のタブを含むファイルを取得することです。 this is an evil tab onoes そして容赦なくそれらを粉々に砕きます: this is an evil tab o n o e s Stack Exchangeソフトウェアはリテラルタブを4つのスペースに変換することに注意してください(正しいため)。この投稿内のタブは4つのスペースとして表示されます。ただし、プログラムへの入力には実際のタブが含まれます。 チャレンジ ソリューションでは、入力として単一の文字列を使用する必要があります。これには、印刷可能なASCII、改行、およびタブが含まれる場合があります。入力には常に少なくとも1つのタブがあります。 出力は同じ文字列で、次の規則が適用されている必要があります。 カーソルを座標(0,0)で右方向に開始します。座標は(列、行)、ゼロインデックス、方向は文字を印刷した後にカーソルを移動する方法です。 文字列の各文字に対して: 改行の場合は、座標(0、n)に移動します(nはこれまでの文字列内の改行の数(これを含む)で、方向を右にリセットします)。 タブの場合、2つのスペースを出力し、カーソルの方向を時計回りに90度回転し、さらに2つのスペースを出力して、タブを半分に効果的に「分割」します。以下は視覚的な例です。タブはで--->、スペースはで表されます·: foo--->bar--->baz になる foo··· · b a r …