문제
내 코드
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)
풀이
- N(개수) 입력받기
- 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) 그냥 단어 출력
효율적인 코드