반응형
풀이
- 띄워져 있는 단어가 들어올 수도 있기에 우선 split으로 구분하여 받은 다음
- 처음에는 띄워져 있는 문자의 가장 앞의 단어를 확인 후
- _set에 추가
- set 형에 추가한 이유는 list에 비해 해시값으로 찾아 찾는 속도가 빠르다고 했기에 적용
- 이후 문자열 포매팅을 활용하여 문자를 변경하고
- 만약 첫글자의 요소들이 다 추가가 되어 있는 경우엔
- 2중 for문을 활용하여 각각의 문자에 접근하도록 한 다음 추가 후
- 출력하여 해결
import sys
input = sys.stdin.readline
_set = set()
for _ in range(int(input())):
s = list(input().rstrip('\n').split(' '))
flag = False
for i in range(len(s)):
if s[i][0].lower() not in _set:
_set.add(s[i][0].lower())
s[i] = '[%s]'%s[i][0]+s[i][1:]
flag = True
break
if not flag:
for i in range(len(s)):
for j in range(len(s[i])):
if s[i][j].lower() not in _set:
_set.add(s[i][j].lower())
s[i] = s[i][:j]+'[%s]'%s[i][j]+s[i][j+1:]
flag = True
break
if flag: break
print(*s)
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 9655번] 돌 게임 (0) | 2023.10.03 |
---|---|
[백준, 파이썬, 1244번] 스위치 켜고 끄기 (0) | 2023.10.02 |
[백준, 파이썬, 14405번] 피카츄 (2) | 2023.10.01 |
[백준, 파이썬, 24444번] 알고리즘 수업 - 너비 우선 탐색 1 (0) | 2023.09.30 |
[백준, 파이썬, 24479번] 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2023.09.30 |