[코딩테스트][백준] 🔥 백준 2179번 "비슷한 단어" 문제: Python으로 완벽 해결하기! 🔥

김상욱·2024년 10월 7일
0
post-thumbnail

문제 링크

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

🕒 Python 풀이시간: 20분

n=int(input())
arr=[]
for i in range(n):
    arr.append(input())

answerMaxLength=0
answerTwoWord=[]
for i in range(n):
    for j in range(i+1,n):
        s1=arr[i]
        s2=arr[j]
        minL=min(len(s1),len(s2))
        maxL=0
        length=0
        for k in range(minL):
            if s1[k]!=s2[k]:
                maxL=max(maxL,length)
                break
            else:
                length+=1
        if length==minL:
            maxL=max(maxL,length)
        if answerMaxLength<maxL:
            answerTwoWord=[s1,s2]
            answerMaxLength=maxL
for i in range(2):
    print(answerTwoWord[i])

앞 자리부터 가장 같은 문자의 길이가 가장 긴 단어 중 앞에서 두 단어를 고르는 문제이다. 말그대로 앞에서부터 두 단어를 고르면서 앞자리부터 몇자리나 같은지 비교하고 그 길이가 최대가 될 때만 갱신해주면 된다. 그렇게 되면 자동으로 가장 길면서 가장 앞에 있는 것 두 개로 골라진다.

이렇게 Python으로 백준의 "비슷한 단어" 문제를 해결해보았습니다. 코드와 개념 설명을 참고하여 문제를 해결하는 데 도움이 되셨길 바랍니다! 😊

0개의 댓글