반응형
문제
꿍은 만사가 귀찮아서 말을 하기도 귀찮아 한다. 그래서 하려는 말을 대신해줄 줄임말을 만들려고 하는데 나름 규칙을 만들었다.
하려는 말은 최소 하나 이상의 단어를 포함하는데 각 단어들은 정확히 한칸의 공백으로 구분이 된다. 줄임말을 만들때는 각 단어의 앞글자를 따서 만들어지는데 다음의 단어들은 쓸모없는 단어들이므로 무시한다.
'i', 'pa', 'te', 'ni', 'niti', 'a', 'ali', 'nego', 'no', 'ili'.
하지만 이 단어들이 하려는 말의 맨 앞에 올경우 매우 중요하다고 판단되어 무시하면 안되고 줄임말에 포함하여야 한다.
줄임말을 만들기도 귀찮아진 꿍을 위해 줄임말을 만들어주는 프로그램을 작성하라.
단, 줄임말은 모두 대문자로만 이루어져있다.
입력
입력은 유일하게 한 줄만 주어지며 하려는 말이 포함되어 있다.
문장은 알파벳 소문자와 공백으로만 이루어져 있다.
문장의 최대길이는 100이다.
출력
만들어진 줄임말을 출력하라.
예제 입력 1micro soft |
예제 출력 1MS |
예제 입력 2biti ali i ne biti |
예제 출력 2BNB |
예제 입력 3ali ja sam i jucer jeo |
예제 출력 3AJSJJ |
풀이
특정 단어가 맨 앞에 올 때 말고는 무시하면서 앞 글자만 따 출력하는 문제이다.
첫 번째로 오는 단어는 무조건 앞 글자를 따오라는 말이니,
맨 앞 단어의 첫 글자를 가져온 뒤에 문제를 푸는게 편할 것이다.
뒤의 단어들은 하나씩 검사하며 무시 단어중에 속하는지 판별하고 아니면 앞글자 출력, 맞으면 건너뛰면 된다.
줄임말이 완성됐다면 문제의 조건에 맞게 upper 함수를 사용하여 대문자로 만들어주자.
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:
continue
r += b[i][0]
print(r.upper())
반응형
'알고리즘 연습 > 구현, 문자열' 카테고리의 다른 글
[🥉1 / 백준 2145 / 파이썬] 숫자 놀이 (0) | 2021.07.21 |
---|---|
[🥉1 / 백준 1453 / 파이썬] 피시방 알바 (0) | 2021.07.20 |
[🥈4 / 백준 17219 / 파이썬] 비밀번호 찾기 (0) | 2021.07.13 |
[🥈5 / 백준 11723 / 파이썬] 집합 (0) | 2021.07.13 |
[🥉2 / 백준 15829 / 파이썬] Hashing (0) | 2021.07.10 |