백준_10798_세로읽기

와다닥·2023년 9월 15일
0

[Python] 문제풀기

목록 보기
1/3
post-custom-banner

10798번: 세로읽기

두 가지 방법 중 어느 쪽을 사용할까 고민을 많이 했다.

  1. 조건에 맞는 글자를 프린트하고 보자.
  2. answer 문자열을 만들어두고 추가한 뒤에 마지막에 한 번에 print하자.

그리고 첫번째로 갔는데 이거 잘한 건지 잘 모르겠다
간단한 문제니까 아무래도 좋지 않나 생각하고 있다


# 10798
chars = []
for _ in range(5):
    chars.insert(_, input())
l0, l1, l2, l3, l4 = len(chars[0]), len(chars[1]), len(chars[2]), 
					 len(chars[3]), len(chars[4])
M = max(l0, l1, l2, l3, l4)
for _ in range(M):
    if _ < l0:
        print(chars[0][_], end='')    
    if _ < l1:
        print(chars[1][_], end='')    
    if _ < l2:
        print(chars[2][_], end='')    
    if _ < l3:
        print(chars[3][_], end='')    
    if _ < l4:
        print(chars[4][_], end='')

열의 개수가 5개로 고정되어 있으니 각 열 중 가장 긴 단어 글자수만큼만 반복하면 된다고 생각 -> 최댓값을 구해서 그만큼만 반복했다.

욧~시 성공


그런데 다른 사람 코드를 보니까 다들 두번째 방법 썼더라
코딩 초보인 나는 짧은 코드가 무조건 효율적으로 보이는 병이 있어서 본인 풀이에 대한 의심만 커졌다.

그런 의미에서 zip() 사용한 코드를 봤는데 확실히 문제풀이 때 생각만 났다면 가장 깔끔하지 않았을까 싶다. zip()을 쓰려면 역시 두번째 방법이 맞았겠지...

profile
I can't die I'm ALL IN
post-custom-banner

0개의 댓글