반응형
문제 링크 : https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
문제 요약
입력받은 수를 뒤에서부터 읽어 두 수를 비교 후 더 큰 값을 출력해주는 프로그램을 작성하는 문제이다.
문제점
- 우선 문자를 입력 받아 뒤집어 주는 것부터 문제였다.
- 우선 a와 b를 새로운 비어있는 문자열을 만들어서 뒤에서부터 더해주는 방식을 사용해봤으나 너무 비효율적이었다.
해결법
- 파이썬에는 python array [::] 용법이라는 게 존재하였다
- arr [a:b:c]는 index a부터 index b까지 c의 간격으로 배열을 만들라는 의미를 가지고 있다.
- 이 함수를 이번에 공부하면서 처음 알게 되었는데 a가 None라면 처음부터 라는 뜻이고
- b가 None라면 최대 값(할 수 있는데) 까지라는 의미이다
- 마지막으로 c가 None라면 한 칸 간격으로 배열을 준다는 의미이다.
- 그래서 a라는 배열을 뒤에서부터 읽기위하여 a[::-1]를 이용하여 a를 뒤에서 부터 읽어주었다
CODE
a, b = input().split()
if a[::-1] > b[::-1]:
print(a[::-1])
else:
print(b[::-1])
풀이
1. a와 b를 입력받아준다
a, b = input().split()
2. a배열과 b배열을 뒤에서 부터읽었을때 a가 크면 a의 뒤집은 값을 출력
그렇지 않으면 b의 뒤집은 값을 출력
if a[::-1] > b[::-1]:
print(a[::-1])
else:
print(b[::-1])
반응형
'Python > 알고리즘 - 백준' 카테고리의 다른 글
[백준] 8958 : OX퀴즈 (파이썬) (1) | 2022.10.11 |
---|---|
[백준] 3052 : 나머지 (파이썬) (0) | 2022.10.10 |
[백준] 2920 : 음계 (파이썬) (0) | 2022.10.08 |
[백준] 2753 : 윤년 (파이썬) (0) | 2022.10.07 |
[백준] 2884 : 알람시계 (파이썬) (0) | 2022.10.07 |