백준/python
3181: 줄임말 만들기(python)
CBH_0417
2023. 9. 13. 15:34
https://www.acmicpc.net/problem/3181
3181번: 줄임말 만들기
꿍은 만사가 귀찮아서 말을 하기도 귀찮아 한다. 그래서 하려는 말을 대신해줄 줄임말을 만들려고 하는데 나름 규칙을 만들었다. 하려는 말은 최소 하나 이상의 단어를 포함하는데 각 단어들은
www.acmicpc.net
문제
꿍은 만사가 귀찮아서 말을 하기도 귀찮아 한다. 그래서 하려는 말을 대신해줄 줄임말을 만들려고 하는데 나름 규칙을 만들었다.
하려는 말은 최소 하나 이상의 단어를 포함하는데 각 단어들은 정확히 한칸의 공백으로 구분이 된다. 줄임말을 만들때는 각 단어의 앞글자를 따서 만들어지는데 다음의 단어들은 쓸모없는 단어들이므로 무시한다.
'i', 'pa', 'te', 'ni', 'niti', 'a', 'ali', 'nego', 'no', 'ili'.
하지만 이 단어들이 하려는 말의 맨 앞에 올경우 매우 중요하다고 판단되어 무시하면 안되고 줄임말에 포함하여야 한다.
줄임말을 만들기도 귀찮아진 꿍을 위해 줄임말을 만들어주는 프로그램을 작성하라.
단, 줄임말은 모두 대문자로만 이루어져있다.
풀이
쓸모없는 단어는 리스트에 저장해서 if- 반복문으로 처리하면 된다.
코드
a = ['i', 'pa', 'te', 'ni', 'niti', 'a', 'ali', 'nego', 'no', 'ili'] #쓸모없는 문자 배열 처리
b = input().split() #줄일 대상인 문장을 입력
r = b[0][0] #줄일 대상을 따로 저장할 배열 초기화
for i in range(1,len(b)):
if b[i] in a: #입력된 b의 값들이 만약 무시할 대상의 문자 배열에 있다면
continue #그 대상은 무시하고 진행
r += b[i][0] #아니라면 그 사이를 줄여버리고 새로 줄일 대상을 탐색
print(r.upper()) #최종 출력 결과는 대문자로