N
: 옵션 개수
strings
: 문자열
⭐️ 단축기 지정 방법
- 왼쪽에서 오른쪽 순서로 단축키 지정 여부 확인
- 지정 X
- 해당 알파벳 단축키로 지정
- 지정 O
- 그 다음 순서대로 단어의 첫글자 키 지정
- 다음 단어 첫글자도 지정O
- 왼쪽에서부터 차례대로 지정할 수 있는 것 찾기
- 아무것도 지정 못한다면?
- 그냥 놔두기
- 대소문자 구분 X
지정한 단축키를 저장할 리스트를 하나 만들어준다.
→ 소문자화된 단축키
를 추가해준다.
for문으로 문자열에 하나씩 접근한다.
[첫글자]
형식으로 변경해 넣기입력 →
첫글자 확인 →
나머지 글자 확인 →
최종 시간복잡도
로 최악의 경우 이 되어,
2초 내에 연산 가능하다.
문자열, 단어, 문자 하나씩 접근하면서 단축키 추가 여부 파악
import sys
input = sys.stdin.readline
# N 입력
N = int(input())
# 문자열 입력
strings = [list(input().rstrip().split()) for _ in range(N)]
# 옵션 저장 리스트
options = []
# 단축키 생성
for string in strings:
for i in range(len(string)):
if string[i][0].lower() not in options:
options.append(string[i][0].lower())
# 문자에 괄호 추가
string[i] = '[' + string[i][0] + ']' + string[i][1:]
break
# 첫글자 모두 존재
else:
for i in range(len(string)):
# 첫 글자 이후의 문자 탐색
for j in range(1, len(string[i])):
if string[i][j].lower() not in options:
options.append(string[i][j].lower())
string[i] = string[i][:j] + '[' + string[i][j] + ']' + string[i][j + 1:]
break
else:
continue
break
# 결과 출력
for string in strings:
print(' '.join(string))