SWEA (SW Expert Academy)/D3

[SWEA/D3] 6190 정곤이의 단조 증가하는 수

hellosonic 2023. 5. 7. 23:54

문제 바로가기

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

나의 코드 및 설명

t = int(input())
for test_case in range(1,t+1):
    n = int(input())
    num_list = list(map(int ,input().split()))
    max_ans = -1 #단조 증가하는 수가 아니면 -1이 출력될 것이다.
    #두 개의 숫자를 뽑는 2중 for문
    for i in range(n-1):
        for j in range(i+1, n):
            check = num_list[i] * num_list[j] #우선 곱해본다.
            check_list = list(map(int, str(check)))
            danzo = 1 #단조 = 1
            for k in range(len(check_list)-1): 
                if check_list[k] > check_list[k+1]: #만약 다음 숫자보다, 현재 숫자가 더 크다면
                    danzo = 0 #단조 증가하는 수가 아니다.
                    break
            if danzo == 1: #단조일 때, 최대값을 찾는다.
                if max_ans < check: 
                    max_ans = check
    print(max_ans)