n=int(input())
arr=[]
for _ in range(n):
arr.append(input())
for i in range(1, len(arr[0])+1):
back=[]
for j in range(n):
if arr[j][-i:] not in back:
back.append(arr[j][-i:])
else:break
if len(back)==n:
print(i)
break
<코드 설명>
학생 수 n을 입력받고 그만큼 학생 번호를 for문을 이용하여 arr라는 list에 입력받는다.
학생 번호의 길이가 모두 같기 때문에, arr[0]의 길이를 기준으로 1부터 len(arr[0])+1까지 반복해주었다. n명의 학생들의 번호를 모두 확인해주기 위해 n만큼 for문을 돌려주었다. arr[j][-i:]가 back에 없으면 추가해주었고 있다면, 구별할 수 없는 것이기 때문에 break해주었다.
back의 길이가 n과 동일해지면 i를 출력해주고 break해준다.
<실행 결과>
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 7785 회사에 있는 사람 (0) | 2022.09.11 |
---|---|
[BOJ] 10815 숫자 카드 (0) | 2022.09.10 |
[BOJ] 1316 그룹 단어 체커 (0) | 2022.06.26 |
[BOJ] 2108 통계학 (0) | 2022.06.25 |
[BOJ] 1978 소수 찾기 (0) | 2022.06.25 |