📝 문제 설명
>
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다.
이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/2864
🎨 풀이
💡 전체 코드
import sys
a, b = map(str, sys.stdin.readline().split())
a = a.replace('6','5')
b = b.replace('6','5')
min = int(a) + int(b)
a = a.replace('5','6')
b = b.replace('5','6')
max = int(a) + int(b)
print(min,max)
> 핵심 : replace 사용
🍦 코드 설명 (실행 순서대로 나열)
# main
a, b = map(str, sys.stdin.readline().split())
1. a와 b를 입력받는다.
- replace 함수를 활용하기 위해 str로 입력받았다! (int라면 사용 불가능)
a = a.replace('6','5')
b = b.replace('6','5')
min = int(a) + int(b)
2. a에 있는 6을 모두 5로 바꾼다.
3. b에 있는 6을 모두 5로 바꾼다.
4. int(a)와 int(b)를 더한 후 min에 넣어준다.
a = a.replace('5','6')
b = b.replace('5','6')
max = int(a) + int(b)
5. a에 있는 5를 모두 6으로 바꾼다.
6. b에 있는 5를 모두 6으로 바꾼다.
7. int(a)와 int(b)를 더한 후 max에 넣어준다.
8. min과 max를 출력한다.
끝~
⭐ 느낀점
> 잘 풀었다고 생각한다. 손목이 좀 아픈데.. 요즘 좀 열심히 해서 그런걸까??! 그렇다면 조금 뿌듯할 것 같기도 ^ㅁ^.. 건강 잘 지키면서 하자! 파이팅.
'알고리즘 공부 > 백준' 카테고리의 다른 글
[백준] 14659번 - 한조서열정리하고옴ㅋㅋ (파이썬) (0) | 2022.07.31 |
---|---|
[백준] 2869번 - 달팽이는 올라가고 싶다 (파이썬) (0) | 2022.07.30 |
[백준] 17478번 - 재귀함수가 뭔가요? (파이썬) (0) | 2022.07.28 |
[백준] 10870번 - 피보나치 수 5 (파이썬) (0) | 2022.07.27 |
[백준] 10872번 - 팩토리얼 (파이썬) (0) | 2022.07.26 |