구현 - 1283번: 단축키 지정

jisu_log·2025년 5월 26일

알고리즘 문제풀이

목록 보기
29/105

n = int(input())

lines = []

key_list = []

for i in range(n):
    word_list = list(input().split())

    is_done = False

    for idx in range(0, len(word_list)):

        # 1) 먼저 하나의 옵션에 대해 왼쪽에서부터 오른쪽 순서로 단어의 첫 글자가 이미 단축키로 지정되었는지 살펴본다.
        # 만약 단축키로 아직 지정이 안 되어있다면 그 알파벳을 단축키로 지정한다.
        if word_list[idx][0].lower() not in key_list:
            key_list.append(word_list[idx][0].lower())
            word_list[idx] = "[" + word_list[idx][0] + "]" + word_list[idx][1:]
            is_done = True
            break

    # 2) 만약 모든 단어의 첫 글자가 이미 지정이 되어있다면 왼쪽에서부터 차례대로 알파벳을 보면서
    # 단축키로 지정 안 된 것이 있다면 단축키로 지정한다.

    if not is_done:
        for idx in range(0, len(word_list)):
            for al_idx in range(0, len(word_list[idx])):
                if word_list[idx][al_idx].lower() not in key_list:

                    key_list.append(word_list[idx][al_idx].lower())
                    word_list[idx] = (
                        word_list[idx][0:al_idx]
                        + "["
                        + word_list[idx][al_idx]
                        + "]"
                        + word_list[idx][al_idx + 1 :]
                    )
                    is_done = True
                    break
            if is_done:
                break
    # 3) 어떠한 것도 단축키로 지정할 수 없다면 그냥 놔두며 대소문자를 구분치 않는다.
    lines.append(word_list)

for word in lines:
    print(" ".join(word))

0개의 댓글