SWEA 6190. 정곤이의 단조 증가하는 수

하얀족제비·2021년 7월 18일
0

접근 방법

그저 모든 경우를 고려하여 탐색하는 방식을 사용했다.

  1. 수열 중에서 2개씩 차례로 골라서 곱한 뒤
  2. 곱한 값이 단조 증가하는지 체크
  3. 단조 증가한다면 maxV에 저장
  4. 위와 같은 식으로 계속 곱한 값을 체크하고
  5. maxV에 최대값을 갱신

코드

# 단조 증가인지 체크하는 함수
def chkIncrease(number):
    number_string = str(number)
    for k in range(len(number_string) - 1):
        if number_string[k] > number_string[k+1]:
            return False
    return True


TC = int(input())
for t in range(1,TC+1):
    N = int(input())
    numbers = list(map(int, input().split()))

    maxV = 0

    for i in range(N-1):
        for j in range(i+1,N):
            num = numbers[i] * numbers[j]
            # 단조 증가한다면 최대값 갱신
            if chkIncrease(num):
                maxV = max(maxV, num)
	# 모든 탐색을 끝내고 maxV가 0이면
    # 곱한 값중 단조증가가 없는 경우로 -1
    if maxV == 0:
        maxV = -1

    print('#{} {}'.format(t,maxV))
profile
안녕하세요~ 개발을 꿈꾸는 하얀족제비입니다!

0개의 댓글