Skip to content

251201 : [BOJ 6137] 문자열 생성#2209

Open
pinkkj wants to merge 1 commit intomainfrom
jehui/2197
Open

251201 : [BOJ 6137] 문자열 생성#2209
pinkkj wants to merge 1 commit intomainfrom
jehui/2197

Conversation

@pinkkj
Copy link
Contributor

@pinkkj pinkkj commented Dec 1, 2025

🚀 이슈 번호

Resolve: {#2197}

🧩 문제 해결

스스로 해결:

🔎 접근 과정

문제 해결을 위한 접근 방식을 설명해주세요.

  • 🔹 그리디
  • 🔹start index를 0으로 설정하고, end index를 -1로 설정하여 비교하면서 결과 리스트에 알파벳을 추가하였습니다.(이때 주의해야할건, 현재 비교하고 있는 대상 두개가 같을 경우입니다. 같으면 인덱스를 줄여 다시 비교합니다. 이때, 교차되는 지점을 잘 확인해야합니다.)

⏱️ 시간 복잡도

시간 복잡도 분석을 작성해주세요.
최악의 경우 수행 시간은 어느 정도인지 분석합니다.

  • Big-O 표기법: O(N^2)
  • 이유:바깥 루프로 N만큼 for문 돌고..같을 경우 N만큼 다시 돔.

💻 구현 코드

N = int(input())
result = []
sen = []
for _ in range(N):
    sen.append(input())
start = 0
end = -1
check = 0
while True:
    if (start-N) == end:
        result.append(sen[start])
        check += 1
        break

    if sen[start] > sen[end]:
        result.append(sen[end])
        check += 1
        end -= 1
    elif sen[start] < sen[end]:
        result.append(sen[start])
        check += 1
        start += 1
    else:
        tmp_start = start
        tmp_end = end
        no_problem = False
        while sen[tmp_start] == sen[tmp_end]:
            tmp_start += 1
            tmp_end -= 1
            if tmp_start >= (tmp_end+N):
                no_problem = True
                break
        if no_problem:
            result.append(sen[start])
            check += 1
            start += 1
        else:
            if sen[tmp_start] > sen[tmp_end]:
                result.append(sen[end])
                check += 1
                end -= 1
            elif sen[tmp_start] < sen[tmp_end]:
                result.append(sen[start])
                check += 1
                start += 1

    if check % 80 == 0:
        result.append("\n")
        check = 0
print("".join(result))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant