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

+ Recent posts