알고리즘
[백준] 1235 - 학생 번호
j9972
2023. 5. 17. 17:40
728x90
1. 문제
https://www.acmicpc.net/problem/1235
2. 접근
1. 데이터를 역순으로 체크를 해주는데, 모든 스택에서 반대순서로 str을 쌓되, 모든 값들이 다를때의 그 str의 길이를 출력한다
2. 데이터를 역순으로 스택에 넣어준다.
3. check 값이 str으로 쌓여가는것이다.
4. check 값이 res에 없을때 res에 쌓고 res에 쌓여있는 값이 n 과 같을때 출력하기
-> 설명을 듣는 독자님이,, 이해가 됬을지는 모르겠다.. 하지만 코드를 보면서 이해될테니 같이 봐주세요!
3.풀이
# 1235 실버4
import sys
input = sys.stdin.readline
nums = []
n = int(input())
for i in range(n):
data = input().rstrip()
nums.append(data[::-1])
cnt = 1
flag = False
for i in range(len(nums[0])):
res = []
check = ''
for j in nums:
check = j[:i+1]
if check not in res:
res.append(check)
if len(set(res)) == n:
flag = True
#print('res :',res)
check = ''
else:
cnt += 1
break
if flag == True:
print(cnt)
break