[Python] 백준 1032 (명령 프롬프트)

2019. 6. 11. 00:43백준/Python

*문제에 대한 내 생각

 뭐...비교에 대한 문제다.

 딱히 달 코멘트는 없다만, 왜인지 모르게 내 코드들중 이 문제를 읽어본 사람이 꽤 있었다.

 

 

*문제 풀이

-아이디어

 앞서 말했듯 각 입력값을 비교하는 문제다.

 다만 약간의 기본상식이다만 문자열은 변경이 불가능해 다른 방법으로 출력값을 저장해야 했다.

 내 경우는 리스트를 사용했다.

 

-코드1

 먼저 b라는 리스트에다 문자열을 n개만큼 집어넣어, 이차배열과 비슷한 형태를 구성했다.

 그리고 출력값을 c로 두고, 이 변수에 b[0](딱히 0이 아니어도 상관없음)을 할당해 리스트화 시켰다.

 이후 for문을 사용해 각 b[i]의 값과 대조했다. 입력값의 길이는 전부 같기 때문에 기준은 c의 길이로 했다.

 

 

n = int(input())
b = []

for i in range(n):
    b.append(input())

c = list(b[0])

for i in range(n):
    for a in range(len(c)):
        if c[a] == b[i][a]:
            continue
        else:
            c[a] = '?'

print(''.join(c))

 

 

 

*결과

 235바이트에 60ms이 나왔다.

 이후의 이야기지만, c가 이미 b[0]이기 때문에 for의 range범위를 range(1, n)으로 바꿔도 상관없다.

 그러나 실제로 해보니 똑같이 60ms가 나왔다.

 아마 다른게 아니라 이중 for문 때문에 56ms를 돌파하지 못한 것으로 보인다.