취준일대기/코딩테스트준비
[구현] 백준 1023번
곧미남
2025. 3. 20. 15:01
https://www.acmicpc.net/problem/1032
[내가 구현한 내용] 결과 통과!
if __name__ == "__main__":
N = int(input())
a = []
for i in range(N):
a.append(str(input()))
if N == 1:
print(a[-1])
else:
str_length = len(a[0])
first_text = a[-1]
second_text = a[-2]
reference_text = []
# 첫번째, 두번째 TEXT 비교해서 reference txt 만들고
for i in range(str_length):
if first_text[i] == second_text[i]:
reference_text.append(first_text[i])
else:
reference_text.append("?")
# 나머지 N-2 개의 TEXT랑 reference 비교해서 문자가 다르면 그 자리를 ?로 치환
for i in range(N-2):
current_file = a[i]
for j in range(str_length):
if current_file[j] == reference_text[j]:
continue
else:
reference_text[j] = "?"
print(''.join(reference_text))
[개선한 코드]
정말 어이 없게도 간단하게 생각해서 풀었으면 되었는데, 나는 왜 저렇게 어렵게 풀었을까..
아직 코테에 대한 숙련도가 떨어져서 그런것 같다.
if __name__ == "__main__":
# 쉽게 생각해야한다! 첫번째는 그냥 받아오고 두번째부터 input으로 데이터 받아와서 처리!
N = int(input())
first_text = list(str(input()))
for i in range(N-1):
next_text = str(input())
for j in range(len(first_text)):
if first_text[j] == next_text[j]:
continue
else:
first_text[j] = "?"
print("".join(first_text))
반응형