난이도 : D3
문제번호 : 6190
※ 저의 풀이가 무조건적인 정답은 아닙니다.
다른 코드가 좀더 효율적이고 좋을 수 있습니다.
다른사람들의 풀이는 언제나 참고만 하시기 바랍니다.
문제 주소 및 출처입니다.
목차
1. 문제 설명
2. 문제 해석
3. 소스 코드
1. 문제 설명
정곤이는 자신이 엄청난 수학자임을 증명하기 위해, 어떤 규칙 만족하는 수를 찾아보기로 했다. |
입력
첫 번째 줄에 테스트 케이스의 수 T가 주어진다. |
출력
각 테스트 케이스마다 단조 증가하는 수인 Ai x Aj중에서 그 최댓값을 출력한다. |
예시
입력 | 출력 |
1 |
#1 28 |
2. 문제풀이
반복문을 돌려서 값을 곱한 다음에 곱해진 값이 단조증가인지 확인하면 된다. 곱한값이 단조증가 이면서 결과값보다 크다면 값을 갱신해준다.
개인적으로 문제를 이해하는게 어려웠던 문제였다. |
3. 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#D3 6190 정곤이의 단조 증가하는 수
#계산된 값이 단조증가인지 확인한다.
def check(number):
temp_str = str(number)
for k in range(len(temp_str)-1):
if temp_str[k] > temp_str[k+1]:
return False
return True
T = int(input())
for t in range(1, T+1):
N = input()
a_list = list(map(int, input().split()))
result = -1
for i in range(len(a_list)):
for j in range(i+1, len(a_list)):
num = a_list[i]*a_list[j]
#두수를 곱한값이 결과값보다 커야하고, 곱한값은 단조증가수여야 한다.
if result < num and check(num):
result = num
print("#{} {}".format(t, result))
|
'코딩테스트 > SWExpertAcademy' 카테고리의 다른 글
조 만들기 C++(SW Expert Academy) (0) | 2020.04.09 |
---|---|
삼성시의 버스 노선 Python(SW Expert Academy) (0) | 2020.04.08 |
세제곱근을 찾아라 Python(SW Expert Academy) (0) | 2020.04.06 |
의석이의 세로로 말해요 Python(SW Expert Academy) (0) | 2020.04.05 |
햄버거 다이어트 Python(SW Expert Academy) (0) | 2020.04.04 |
댓글