1. 문제
https://www.acmicpc.net/problem/1283
1283번: 단축키 지정
첫째 줄에 옵션의 개수 N(1 ≤ N ≤ 30)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄에 옵션을 나타내는 문자열이 입력되는데 하나의 옵션은 5개 이하의 단어로 표현되며, 각 단어 역시 10개 이하
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# n : 옵션 개수
n = int(input().strip())
# nBoolList : 옵션 존재 여부를 확인할 리스트
nBoolList = [False for i in range(26)]
# nList : 옵션 리스트
nList = []
for i in range(n):
nList.append(input().strip())
for k, i in enumerate(nList):
optionAppend = False
newOptionName = ""
wordList = i.split(" ")
for j in wordList:
if optionAppend == False:
alpha = j[0].upper()
if nBoolList[ord(alpha) - 65] == False:
optionAppend = True
newOptionName += "[" + j[0] + "]" + j[1:] + " "
nBoolList[ord(alpha) - 65] = True
else:
newOptionName += (j + " ")
else:
newOptionName += (j + " ")
if optionAppend == False:
newOptionName = ""
for j in i:
if j == " ":
newOptionName += j
else:
if optionAppend == False:
alpha = j.upper()
if nBoolList[ord(alpha) - 65] == False:
optionAppend = True
newOptionName += "[" + j + "]"
nBoolList[ord(alpha) - 65] = True
else:
newOptionName += j
else:
newOptionName += j
# print(nBoolList)
nList[k] = newOptionName.strip()
for i in nList:
print(i)
'알고리즘 공부 > 백준' 카테고리의 다른 글
(Python)백준 코딩테스트 연습 - 제곱수의 합(1699) (0) | 2023.04.28 |
---|---|
(Python)백준 코딩테스트 연습 - 랜선 자르기(1654) (0) | 2023.04.26 |
(Python)백준 코딩테스트 연습 - 팩토리얼5(1564) (0) | 2023.04.23 |
(Python)백준 코딩테스트 연습 - 잃어버린 괄호(1541) (0) | 2023.04.20 |
(Python)백준 코딩테스트 연습 - 안녕(1535) (1) | 2023.04.19 |