白駿10798歳読書
6925 ワード
質問する
まだ字が読めない英錫が壁に掛けた黒板に磁石を貼ったおもちゃで遊んでいる.
このおもちゃの字は英語の大文字「A」から「Z」、英語の小文字「A」から「Z」、数字「0」から「9」です.英錫は黒板に字を水平に並べて単語を作った.その下に字を少し加えて、別の言葉を作ります.この方法で5つの語を作る.下の図1は、英碩が黒板に貼った単語の例です.A A B C D D
a f z z
0 9 1 2 1
a 8 E W g 6
P 5 h 3 k x
<図1>
1行の単語は字を1列につなぎ、スペースがなく、せいぜい15字からなる.また、5つの単語の文字数が異なる場合があります.
退屈な英錫は黒板の5つの単語を縦に読みたいと思っている.縦に読むときは、各単語の最初の字を上から下まで縦に読む.そして2番目の字を縦に読みます.このようにして左から右に1つの位置を移動しながら、同じ位置の文字を縦に読み出す.上の図1の5番目の位置から見ると、2行目の5番目の位置の字はありません.このような場合、縦読みのときに該当する位置の字がなければ、読まずに次の字を読み続けます.図1の5位は縦読みでD 1 gkです.
図1では、以下に示すように、英碩が垂直に読む順序で、スペースを残さずに文字を出力する.
Aa0aPAf985Bz1EhCz2W3D1gkD6x
黒板に貼られた単語が出てきたら、永錫が縦に読む順に印刷プログラムを作成してください.
入力
合計5行の入力があります.行ごとに最低1文字、最大15文字が連続しており、スペースはありません.主語は英語の大文字「A」から「Z」、英語の小文字「A」から「Z」、数字「0」から「9」の1つです.各行の先頭と末尾にスペースはありません.
しゅつりょく
英錫は縦読みの順に字を印刷した.このとき、テキストは連続して出力され、スペースは残されません.
入力例1
ABCDE
abcde
01234
FGHIJ
fghij
サンプル出力1
Aa0FfBb1GgCc2HhDd3IiEe4Jj
入力例2
AABCDD
afzz
09121
a8EWg6
P5h3kx
サンプル出力2
Aa0aPAf985Bz1EhCz2W3D1gkD6x
解法
入力した5つの文字列を文字で区切って2 Dリストに入れます.
文字列の中で最も長い文字列の長さを決定し、他のリストに空の文字列を入力します.
すべてのリストの長さが同じなので、負担なく2重forゲートを行います.
コード1
lines = [list(map(str, input())) for _ in range(5)]
max_length = 0
for line in lines:
max_length = max(max_length, len(line))
for line in lines:
tmp = [''] * (max_length - len(line))
line.extend(tmp)
result = ''
for i in range(max_length):
for line in lines:
result += line[i]
print(result)
コード2
C = [[''] * 15 for _ in range(5)]
for i in range(5):
S = input()
for j in range(len(S)):
C[i][j] = S[j]
result = ''
for i in range(15):
for j in range(5):
result += C[j][i]
print(result)
白駿10798歳読書
Reference
この問題について(白駿10798歳読書), 我々は、より多くの情報をここで見つけました
https://velog.io/@mynote/백준-10798-세로읽기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
A A B C D D
a f z z
0 9 1 2 1
a 8 E W g 6
P 5 h 3 k x
入力した5つの文字列を文字で区切って2 Dリストに入れます.
文字列の中で最も長い文字列の長さを決定し、他のリストに空の文字列を入力します.
すべてのリストの長さが同じなので、負担なく2重forゲートを行います.
コード1
lines = [list(map(str, input())) for _ in range(5)]
max_length = 0
for line in lines:
max_length = max(max_length, len(line))
for line in lines:
tmp = [''] * (max_length - len(line))
line.extend(tmp)
result = ''
for i in range(max_length):
for line in lines:
result += line[i]
print(result)
コード2
C = [[''] * 15 for _ in range(5)]
for i in range(5):
S = input()
for j in range(len(S)):
C[i][j] = S[j]
result = ''
for i in range(15):
for j in range(5):
result += C[j][i]
print(result)
白駿10798歳読書Reference
この問題について(白駿10798歳読書), 我々は、より多くの情報をここで見つけました https://velog.io/@mynote/백준-10798-세로읽기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol