negno
개발Log
negno
전체 방문자
오늘
어제
  • 분류 전체보기
    • Project
      • Mini_Project
      • PTSD_Project
    • Algorithm
      • Elice
      • JavaFestival
    • BACK-END
      • C Programming
      • JAVA
      • JSP Servlet
      • Python
      • Spring
      • Machine Learning
    • FRONT-END
      • HTML CSS
      • JavaScript
    • Application
      • Android
    • DataBase
      • Oracle
      • MySql
    • IoT
      • Arduino
      • Raspberry pi

티스토리

hELLO · Designed By 정상우.
negno

개발Log

(Elice / 완전탐색 /Python) 흰토끼의 회중시계
Algorithm/Elice

(Elice / 완전탐색 /Python) 흰토끼의 회중시계

2022. 10. 14. 23:38

흰토끼의 회중시계

항상 아날로그 회중시계를 들고 다니던 흰토끼는 얼마전 큰 결심을 하고 최신 디지털 회중시계를 주문했습니다. 큰 기대감을 가지고 택배를 뜯어본 흰토끼는 시간이 표시되는 숫자 4가지가 뒤죽박죽 섞여 제대로 표시되지 않는 것을 보고 큰 실망감을 가졌습니다. 유감스럽게도 반품을 하고 새 제품을 받을 시간이 없던 흰토끼는 자신이 직접 시계를 고치려고 합니다. 흰토끼는 과연 디지털 회중시계를 고칠 수 있을까요?

입력 예시 1

0 1 2 4

출력 예시 1

21:40

입력 예시 2

5 5 5 5

출력 예시 2

-1
 

입력

  • 회중시계에 표시되는 숫자들은 정렬되지 않은 4가지의 0부터 9까지의 정수입니다.

출력

  • 4가지의 숫자로 만들 수 있는 가장 큰 시간을 출력하세요.
  • 시계에 표시되는 시간은 24시간 기준입니다.
  • 시간을 출력할 수 없는 경우라면 -1을 출력하세요.

소스 코드

Max = -1

def ham(arr, c, che, re):
    if c == len(re):
        if int(re[0]) > 2:
            return 
        if int(re[0]) == 2 and int(re[1]) > 3:
            return
        if int(re[2]) > 5:
            return
        global Max
        Max = max(Max,int(''.join(re)))
        return 
        
    for i in range(len(arr)):
        if che[i]:
            continue
        re[c] = arr[i]
        che[i] = True
        ham(arr, c+1, che, re)
        che[i] = False
        
    
arr = list(input().split())

che = [False for i in range(4)]

re = [0 for i in range(4)]

ham(arr,0,che,re)

if Max == -1 :
    print(-1)
else:
    print(str(Max)[:2]+":"+str(Max)[2:])

'Algorithm > Elice' 카테고리의 다른 글

(Elice / 반복문 / C++) 목표량  (0) 2022.10.14
(Elice / 수학 / Java) 방 탈출  (1) 2022.10.14
(Elice / 수학 / Python) 버스  (1) 2022.10.14
(Elice / 시뮬레이션 / Python)엉망진창 다과회  (1) 2022.10.14
(Elice / 수학 / Python)못 하면 될 때까지!  (0) 2022.10.14
    negno
    negno

    티스토리툴바