본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 1][Python] 10798번 : 세로읽기

by 빛밤하늘 2021. 5. 1.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

10798번: 세로읽기

총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 입력한 문자열들을 저장하는 리스트 변수를 선언합니다.
strings = []

# 입력한 문자열 중 가장 긴 길이를 저장하는 변수를 선언합니다.
max_string_length = 0

# 5번 반복합니다.
for string_index in range(5):
    # 문자열을 하나 입력합니다.
    string = input()

    # strings에 입력한 문자열을 넣어줍니다.
    strings.append(string)

    # 이전까지 최대 문자열 길이보다 현재 입력한 문자열의 길이가 더 길다면
    if len(string) >= max_string_length:
        # 최대 문자열 길이 변수에 현재 문자열 길이를 저장합니다.
        max_string_length = len(string)

# 세로로 읽은 결과를 저장하는 변수를 선언합니다.
column_string = ''

# 최대 문자열 길이만큼 반복합니다.
for index in range(max_string_length):
    # 문자열 하나마다 반복합니다.
    for string in strings:
        # 현재 문자열에서 현재 읽을 인덱스가 없다면
        if len(string) < index + 1:
            # 그냥 넘어갑니다.
            continue
        # 현재 문자열에서 현재 읽을 인덱스가 있다면
        else:
            # column_string에 현재 문자열의 현재 인덱스의 문자를 넣어줍니다.
            column_string += string[index]

# 세로로 읽은 결과를 출력합니다.
print(column_string)

결과

 

제출하고 실행 시간을 다른 사람들의 파이썬 결과와 비교해보니 상대적으로 조금 더 걸리는 결과였습니다.

시간을 더 단축하는 코드를 공부하고 다시 포스팅해보겠습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글