반응형
[Bronze II] 거꾸로 구구단 - 13410
성능 요약
메모리: 30840 KB, 시간: 68 ms
분류
브루트포스 알고리즘(bruteforcing), 수학(math)
문제 설명
일반적인 구구단에서 가장 큰 수는 마지막 항의 값이 제일 크다. 거꾸로 구구단에서는, 각 항에 구구단의 계산 결과로 나온 값을 뒤집어 저장을 한다. 이렇게 하면 가장 큰 값이 항상 마지막이 아니게 된다. 예를 들어 8단의 9개 항의 값은 8, 16, 24, 32, 40, 48, 56, 64, 72 이 되어 72가 가장 크지만, 거꾸로 구구단에서는 8, 61, 42, 23, 4, 84, 65, 46, 27 가 되어 84가 가장 큰 값을 가지게 된다.
단의 수 N과 항의 수 K가 주어질 때, 거꾸로 구구단의 가장 큰 값을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 K가 주어진다. 두 수는 모두 1,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 주어진 단과 항에서 나올 수 있는 가장 큰 거꾸로 구구단의 값을 출력한다.
answer = 0
n, m = map(int,input().split())
for i in range(1,m+1):
answer = max(answer, int(str(n*i)[::-1]))
print(answer)
쉬운 구현 문제. 1~m행까지 곱한 수를 [::-1]를 이용하면 문자열을 반대로 돌려주기 때문에 해당 값을 int형으로 바꿔주어 max함수를 통해 최댓값을 찾아주면 해결.
'알고리즘' 카테고리의 다른 글
[Silver I] 나이트의 이동 - 7562(BFS) (1) | 2022.09.26 |
---|---|
[Silver II] 싸이버개강총회 - 19583 (문자열,구현) (0) | 2022.09.22 |
[Silver II] A → B - 16953 (그래프 탐색, 그리디) (1) | 2022.09.21 |
[Silver II] 수익 - 4097 (dp) (1) | 2022.09.20 |
[Silver I] 어두운 건 무서워 - 16507 (누적합) (1) | 2022.09.20 |