동까의 코딩

99클럽 코테 스터디 TIL 7일차 본문

문제 풀이/99클럽

99클럽 코테 스터디 TIL 7일차

동까의 코딩 2025. 1. 24. 09:56
반응형

https://www.acmicpc.net/problem/2179

 

정렬 알고리즘 문제를 풀어보았습니다.

 

n = int(input())
a = [input() for _ in range(n)]


b = sorted(list(enumerate(a)),key = lambda x: x[1])
def check(a, b):
    cnt = 0
    for i in range(min(len(a), len(b))):
        if a[i] == b[i]: cnt += 1
        else: break
    return cnt

length = [0] * (n+1)
maxlength = 0

for i in range(n-1):
    
    tmp = check(b[i][1], b[i+1][1])
    
    maxlength = max(maxlength, tmp)
    
    
    length[b[i][0]] = max(length[b[i][0]], tmp)
    length[b[i+1][0]] = max(length[b[i+1][0]], tmp)
    
    
first = 0
for i in range(n):
    
    if first == 0:
        
        if length[i] == max(length):
            
            first = a[i]
            print(first)
            pre = a[i][:maxlength]
    else:
    	
        if length[i] == max(length) and a[i][:maxlength] == pre:
            print(a[i])
            break

 

오답이 발생하여 참조하여 풀었습니다. 다시 또 풀어볼 생각입니다.

반응형