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

Sarah·2021년 8월 29일
0

SWE

목록 보기
9/19

문제출처: SW Expert Academy

문제

단조증가하는 수 중 최댓값을 출력하라

코드

# pass
import sys
sys.stdin = open('input.txt')
#  1 ≤ i < j ≤ N 인 두 i, j에 대해,
#  Ai x Aj값이 단조 증가하는 수인 것들을 구하고
#  그 중의 최댓값을 출력하는 프로그램을 작성하라.

def search(number):
    # 숫자 str로 바꿈
    number_str = str(number)
    # 숫자 길이만큼 반복
    for char in range(len(number_str)):
        # 비교할 자리들이 숫자길이 넘지않으면
        if char+1 < len(number_str):
            # 지금 숫자가 다음숫자보다 작으면 멈춰!
            if number_str[char] > number_str[char+1]:
                break
            # 다음숫자가 같거나 크고 + 비교하고 있는 다음숫자가 마지막숫자라면
            if char+1 == len(number_str)-1:
                result.append(int(number_str))

    return result

T = int(input())
for tc in range(1, T+1):
    N = int(input())
    arr = list(map(int, input().split()))
    mix = []
    numbers = []
    result = []
    # 각 자리 곱한거 mix에 넣기
    for i in range(N):
        for j in range(N):
            if j > i and j < N:
                mix.append(arr[i] * arr[j])

    # 2자리 이상인 숫자들만 number에 저장
    for k in range(len(mix)):
        if mix[k] >= 10:
            # 단조증가인지 확인
            search(mix[k])


    if result:
        print("#{} {}".format(tc, max(result)))
    else:
        result = -1
        print("#{} {}".format(tc, result))

장애물

  1. 나진짜 문제 똑바로 안읽냐!!!!!!!!!
    단조 증가하는 수에 5566이것도 포함
    즉. 같은 값의 수도 포함이라는 점을 빼먹어서 한시간을 빙빙 돌았다.
profile
2021.06 ~

0개의 댓글