백준

백준 1283

gilola 2025. 1. 23. 16:48

 

1. 입력받은 단어들의 첫번째 문자 부터 확인하고 단축키에 없으면 추가해주고 그 위치를 return

2. 단어들의 첫번째 문자들이 다 단축키에 있다면 앞에서부터 순서대로 단축키에 있는지 확인 후 단축키에 없으면 추가해주고 그 위치를 return 

 

내 코드:

n = int(input())

shortcut = []

def short (res):
    x = 0
    y = 0
    for i in range(len(res)):
        if res[i][0] not in shortcut:
            shortcut.append(res[i][0])
            x = i
            y = 0
            return x, 0
    tag = 0
    for i in range(len(res)):
        for j in range(len(res[i])):
            if res[i][j] not in shortcut and tag == 0:
                shortcut.append("[")
                shortcut.append(res[i][j])
                shortcut.append("]")
                x = i
                y = j
                tag = 1
                return x, y
    if tag == 0:
        return "no shortcut"

   
for i in range(n):
    k = input().split()
    k2 = [x.lower() for x in k]
    t = short(k2)    
    if t == "no shortcut":
        print(*k)

    else:
        for i in range(len(k)):
            for j in range(len(k[i])):
                if t[0] == i and t[1] == j:
                    print("[" + str(k[i][j]) + "]", end="")
                else:
                    print(k[i][j], end="")
            print(" ", end="")

 

 

+) t = short(k2)를 해야하는데 그냥 short(k2) 그대로 써버렸더니 short 함수가 계속 호출되어서 난리났음...

반드시 변수에 할당하고 사용해주자

+) 마지막에 "[]" 추가하여 출력해줄 때 나는 그냥 일일히 이중 for문 돌려서 출력하게 했는데

k[i] = k[i][:1]  + "[" + k[i][j] + "]" + k[i][j + 1:] 이런식으로 작성하면 더 간단함.!

'백준' 카테고리의 다른 글

백준 2023  (2) 2025.01.30
백준 1446  (0) 2025.01.30
백준 1931  (1) 2025.01.17
백준 2583  (1) 2025.01.17
백준 14888  (0) 2025.01.08