[6/7] 1283 (단축키 지정)

이경준·2021년 6월 7일
0

코테

목록 보기
31/140
post-custom-banner

문제

내 코드

N = int(input())
arr = []

# N개만큼 단어 입력
for _ in range(N):
    word = str(input())
    s_word = word.split(" ")
    
    # 각 단어의 첫글자 비교
    for i in range(len(s_word)):
        # 단어가 공백인지 걸러내기
        if (s_word[i] != "" and s_word[i][0].upper() not in arr):
            arr.append(s_word[i][0].upper())
            s_word[i] = "[" + s_word[i][0] + "]" + s_word[i][1:]
            s_word = " ".join(s_word)
            print(s_word)
            break
    
    # 첫글자가 모두 사용되었을때
    else:
        for j in range(len(word)):
            if (word[j].isalpha() and word[j].upper() not in arr):
                arr.append(word[j].upper())
                word = word[:j] + "[" + word[j] + "]" + word[j+1:]
                print(word)
                break
        else:
            print(word)

풀이

  1. N(개수) 입력받기
  2. for문
    a) 단어 입력받기
    b) 단어 단위로 분할
    c) for문
    ........1) 단어가 공백이 아닌지, 첫글자가 알파벳인지, 첫글자가 이미 arr에 있는지 확인
    ........2) 첫글자를 arr에 추가
    ........3) 첫글자에 []을 감싸줌
    ........4) 출력, 탈출
    d) else문
    ........1) 단어 합치기
    ........2) for문
    ............a) 알파벳인지, 해당 글자가 이미 arr에 있는지 확인
    ............b) 글자를 arr에 추가
    ............c) 글자에 []을 감싸줌
    ............d) 출력, 탈출
    ........3) else문
    ............a) 그냥 단어 출력

효율적인 코드

profile
The Show Must Go On
post-custom-banner

0개의 댓글