728x90
반응형
BaekJoon 백준 16360 Go Latin 문제는 주어진 영어 단어를 라틴어로 번역하는 문제로, 영어 단어의 맨 끝 문자를 pseudo-Latin 표에 맞게 바꾸어 출력하는 문제이다. 표에 없다면 영어 단어 끝에 us를 붙여 출력하는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 16360 Go Latin 문제 정보
출처
- https://www.acmicpc.net/problem/16360
알고리즘 분류
- 문자열 string
난이도
- 브론즈 1 / Bronze 1
Go Latin 문제 요약
- 영어 단어를 라틴어로 번역하려면 영어 단어의 끝을 표의 규칙에 맞게 변경하면 된다.
- 변경 규칙이 없는 단어로 끝나면 us를 단어 끝에 붙이면 된다.
- 영어 단어를 라틴어로 번역하여 출력한다.
- 번역할 단어의 개수 정수 n (1 ≤ n ≤ 20)이 주어진다.
- 주어진 단어는 소문자 알파벳 문자만 사용하며 각 단어는 최소 3자에서 최대 30자까지 포함합니다.
문제 풀이 과정
- 영어 단어를 입력받는다.
- 영어 단어의 끝 문자가 표에 있다면 규칙대로 단어 끝을 변경한다.
- 표에 없는 문자라면, 단어 끝에 us를 붙인다.
- 라틴어로 번역한 영어 단어를 출력한다.
코드 및 설명
pseudo = {'a': 'as', 'i': 'ios', 'y': 'ios', 'l': 'les', 'n': 'anes', 'ne': 'anes',
'o': 'os', 'r': 'res', 't': 'tas', 'u': 'us', 'v': 'ves', 'w': 'was'}
for _ in range(int(input())):
word = list(input())
# 맨 끝 문자가 변환 규칙 표에 있으면
if word[-1] in pseudo:
word[-1] = pseudo[word[-1]]
elif ''.join(word[-2::]) == 'ne':
word[-2::] = pseudo['ne']
# 없으면
else:
word.append('us')
print(''.join(word))
BaekJoon 백준 16360 Go Latin 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 1145 적어도 대부분의 배수 (Python / 파이썬) (0) | 2021.09.07 |
---|---|
[BaekJoon] 백준 3226 전화 요금 (Python / 파이썬) (0) | 2021.08.28 |
[BaekJoon] 백준 14563 완전수 (Python / 파이썬) (0) | 2021.08.28 |
[BaekJoon] 백준 20001 고무오리 디버깅 (Python / 파이썬) (0) | 2021.08.28 |
[BaekJoon] 백준 3060 욕심쟁이 돼지 (Python / 파이썬) (0) | 2021.08.27 |
댓글