반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 23027번 1번부터 문제의 상태가…? 파이썬(Python)

1) 문제번호 : 23056번

 

2) 문제 출처

https://www.acmicpc.net/problem/23056

 

23056번: 참가자 명단

첫째 줄에 학급 수인 $N$과 학급당 신청 가능한 인원수 $M$이 주어진다. ($N$은 짝수이고 $2\leq N \leq 10$, $1\leq M \leq 10$) 둘째 줄부터 신청된 순서대로 학생의 학급과 이름이 주어진다. 학생의 학급은

www.acmicpc.net

 

2. 문제

큰일이다. 시험 문제를 본 쿠기는 1번부터 풀 수가 없다. 시험 시간 동안 할 일이 없었던 쿠기는 교수님께 편지를 쓰려고 한다. 작년 시험에서 교수님께 그동안 감사했다는 편지를 전하고 D+을 받았던 기억이 있다. 그때 성적이 문제였는지, 편지가 문제였는지 궁금하여 이번에도 1번 문제의 답안 칸에 편지를 작성하려고 한다. 혹시나 하는 마음에 쿠기는 D+만은 피하고자 편지를 수정하려고 한다.

  1. 편지의 내용 S에 'A'가 있다면 S에 있는 'B', 'C', 'D', 'F'를 모두 'A'로 변경한다.
  2. 'A'가 없고 'B'가 있다면 S에 있는 'C', 'D', 'F'를 모두 'B'로 변경한다.
  3. 'A'와 'B'가 없고 'C'가 있다면 S에 있는 'D', 'F'를 모두 'C'로 변경한다.
  4. '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)

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기