반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 23027번 1번부터 문제의 상태가…? 파이썬(Python)
1) 문제번호 : 23056번
2) 문제 출처
https://www.acmicpc.net/problem/23056
2. 문제
큰일이다. 시험 문제를 본 쿠기는 1번부터 풀 수가 없다. 시험 시간 동안 할 일이 없었던 쿠기는 교수님께 편지를 쓰려고 한다. 작년 시험에서 교수님께 그동안 감사했다는 편지를 전하고 D+을 받았던 기억이 있다. 그때 성적이 문제였는지, 편지가 문제였는지 궁금하여 이번에도 1번 문제의 답안 칸에 편지를 작성하려고 한다. 혹시나 하는 마음에 쿠기는 D+만은 피하고자 편지를 수정하려고 한다.
- 편지의 내용 S에 'A'가 있다면 S에 있는 'B', 'C', 'D', 'F'를 모두 'A'로 변경한다.
- 'A'가 없고 'B'가 있다면 S에 있는 'C', 'D', 'F'를 모두 'B'로 변경한다.
- 'A'와 'B'가 없고 'C'가 있다면 S에 있는 'D', 'F'를 모두 'C'로 변경한다.
- 'A', 'B'와 'C'가 모두 없다면 S에 있는 모든 문자를 'A'로 변경한다.
쿠기를 도와 편지를 수정하는 것을 도와주자.
3. 제약사항
4. 입력
편지의 내용 S(1 ≤ S 의 길이 ≤ 1,000)가 주어진다. 문자열 S는 알파벳 대문자로 이루어져 있다.
5. 출력
수정된 편지의 내용을 출력한다.
6. 풀이
- if문을 활용한 간단한 문제다.
7. 소스 코드
import sys
input=sys.stdin.readline
S = list(input()) # 편지의 내용
res = [] # 결과 리스트
if 'A' in S :
for i in S :
if i == 'B' or i == 'C' or i == 'D' or i == 'F' : res.append('A')
else : res.append(i)
for i in res :
print(i, end="")
exit(0)
elif 'A' not in S and 'B' in S :
for i in S :
if i == 'C' or i == 'D' or i == 'F' : res.append('B')
else : res.append(i)
for i in res :
print(i, end="")
exit(0)
elif 'A' not in S and 'B' not in S and 'C' in S:
for i in S:
if i == 'D' or i == 'F':
res.append('C')
else:
res.append(i)
for i in res:
print(i, end="")
exit(0)
else :
for i in range(len(S)-1) :
res.append('A')
for i in res :
print(i, end="")
exit(0)
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 A번 - Ресторан 파이썬(Python) (0) | 2021.11.28 |
---|---|
[백준 알고리즘] 백준 1964번 오각형, 오각형, 오각형... 파이썬(Python) (0) | 2021.11.28 |
[백준 알고리즘] 백준 14264번 정육각형과 삼각형 파이썬(Python) (0) | 2021.11.09 |
[백준 알고리즘] 백준 10773번 제로 파이썬(Python) (0) | 2021.10.08 |
[백준 알고리즘] 백준 23054번 참가자 명단 파이썬(Python) (0) | 2021.10.07 |
[백준 알고리즘] 백준 23080번 스키테일 암호 파이썬(Python) (0) | 2021.10.06 |
[백준 알고리즘] 백준 10179번 쿠폰 자바(JAVA) (0) | 2021.09.08 |
[백준 알고리즘] 백준 10156번 과자 자바(JAVA) (0) | 2021.09.07 |
최근댓글