💡문제접근
- 앞에서부터 줄여나가면서 학생 번호가 전부 구분이 가능하다면 리스트에 길이를 저장하는 방식으로 코드를 작성했는데 계속 WA를 받았다.
- 학생 번호의 문자 길이는 모두 동일하다고 했으므로 이중 반복문과 슬라이싱을 이용해서 구분 가능하다면 리스트에 저장하고 구분 가능하지 않다면
break
를 실행시키고 리스트에 들어있는 원소의 개수가 학생 번호 개수와 동일하다면 모든 학생들의 학생 번호를 서로 다르게 만들 수 있는 최소의 k를 출력한다.
💡코드(메모리 : 30748KB, 시간 : 84ms)
N = int(input())
li = []
for _ in range(N):
li.append(input())
temp = len(li[0])
for i in range(1, temp+1):
results = []
for j in range(N):
temp = li[j][-i:]
if temp not in results:
results.append(temp)
else:
break
if len(results) == N:
print(i)
break
💡소요시간 : 34m