알고리즘 PS/Implementation

백준 #10798 세로읽기

explorer999 2023. 8. 24. 22:07
 

 

<내 풀이>

 

arr_1=[]
arr_2=[]

for i in range(5):
    arr_1.append([])
    arr_1[i]=list(input())
   
for i in range(5):
    for j in range(len(arr_1[i]),16):
        arr_1[i].append('*')
       
for i in range(15):
    for j in range(5):
        arr_2.append(arr_1[j][i])

remove_set={'*'}
arr_2 = [i for i in arr_2 if i not in remove_set]

str2= ''.join(arr_2)
print(str2)

 

 

# arr[j][i]이렇게 하면 세로로 읽는 건 문제가 아닌데 행 길이가 다 달라서 어떻게 해야되는지 좀 고민했다.

 

# 일단 길이를 맞추기 위해서 원소 개수가 15개 미만인 리스트에는 15개까지 들어가도록 *을 추가함.  그다음 세로로 배열되도록 arr_2라는 리스트에 넣고, 거기에 있는 *을 한꺼번에 지우기 위해서 remove_set{}저 부분을 썼는데 처음 보는 방법이다. 그리고 리스트를 문자열 형식으로 바꿔서 출력