반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- C Programming
- greedy
- Python
- CSS
- c언어
- C
- 초보
- 파이썬
- 정리
- 그리디
- 알고리즘
- 꾸준히
- 구현
- 10807
- 설명
- implement
- Beakjoon
- Implemention
- 10926
- 입문
- 코드엔진
- 문제풀이
- Baekjoon
- 백준
- 친절한 설명
- 문자열
- HTML
- VS
- 심화1
- C 언어
Archives
- Today
- Total
안경잡이 구루루
백준 2864 (5와 6의 차이) [Python/파이썬] [Greedy/그리디] 본문
파이썬(Python)/문제풀이(백준,BaekJoon)
백준 2864 (5와 6의 차이) [Python/파이썬] [Greedy/그리디]
구루루(gururu) 2023. 9. 17. 16:33반응형
https://www.acmicpc.net/problem/2864
나:
a,b= input().split()
table = str.maketrans('6','5')
a= a.translate(table)
b= b.translate(table)
print(int(a)+int(b),end=' ')
table = str.maketrans('5','6')
a= a.translate(table)
b= b.translate(table)
print(int(a)+int(b))
완성된 코드는 위와 같다,
(1)
a,b= input().split()
table = str.maketrans('6','5')
a= a.translate(table)
b= b.translate(table)
print(int(a)+int(b),end=' ')
우선 나는 문자열 조작방법인 replace를 알고 있었지만 다른 방식으로 문제를 풀어보고 싶었다, 그러던 와중 다른 문자열 조작방식인 str. maketrans() 함수를 알게 되었고 이를 활용해서 문제를 풀고자 했다.
문제는 5와 6을 잘못 봐서 서로 반대로 썼을 경우를 구현해야하고 최솟값을 먼저 출력해야 하기 때문에 바꿀문자에는 6, 새문자에는 5를 넣어 테이블을 만들고
각 입력값 a, b 에 이를 적용시켰다. 이때 input() 은 문자열로 받기 때문에 합을 구할때 int 정수형으로 바꿔서 출력한다. 그리고 공백을 기준으로 출력해야 하기 때문에 end 를 이용해 공백을 구현했다.
+) str.maketrans 사용 방법
str.maketrans('바꿀문자', '새문자')로 변환 테이블을 만듭니다. 그다음에 translate(테이블)을 사용
ex)
>>> table = str.maketrans('aeiou', '12345')
>>> 'apple'.translate(table)
'1ppl2'
table = str.maketrans('5','6')
a= a.translate(table)
b= b.translate(table)
print(int(a)+int(b))
다음으로 최댓값을 출력하는 경우를 구현하기 위해 위의 경우와 반대로 바꿀문자에 5, 새문자에 6을 넣어 테이블을 만듦.
이후 각 입력값 a,b 에 이를 적용시켰고 위와 똑같이 input() 은 문자열로 받기 때문에 합을 구할때 int 정수형으로 바꿔서 계산하며 출력한다.
다른사람
a, b = map(int, input().split())
min_sum = int(str(a).replace('6', '5')) + int(str(b).replace('6', '5'))
max_sum = int(str(a).replace('5', '6')) + int(str(b).replace('5', '6'))
print(min_sum, max_sum)
완성된 코드는 위와 같다.
replace() 함수를 이용해 구현한 방식 또한 참고할 필요가 있다고 생각해 가져왔다.
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 14659 (한조서열정리하고옴ㅋㅋ) [Python/파이썬] [Greedy/그리디] +) Pypy3 (0) | 2023.09.18 |
---|---|
백준 14720 (우유축제) [Python/파이썬] [Greedy/그리디] (0) | 2023.09.18 |
백준 4796 (캠핑) [Python/파이썬] [Greedy/그리디] (0) | 2023.09.17 |
백준 10162 (전자레인지) [Python/파이썬] [Greddy/그리디] (0) | 2023.09.16 |
백준 5585 (거스름돈) [Python/파이썬] [Greedy/그리디] (0) | 2023.09.16 |