증가수열 만들기

2023. 5. 29. 22:20·Coding Test/Geedy
728x90

문제

1부터 N까지의 모든 자연수로 구성된 길이 N의 수열이 주어집니다.
이 수열의 왼쪽 맨 끝 숫자 또는 오른쪽 맨 끝 숫자 중 하나를 가져와 나열하여 가장 긴 증가수열을 만듭니다.
이때 수열에서 가져온 숫자(왼쪽 맨 끝 또는 오른쪽 맨 끝)는 그 수열에서 제거됩니다.
예를 들어 2 4 5 1 3 이 주어지면 만들 수 있는 가장 긴 증가수열의 길이는 4입니다.
맨 처음 왼쪽 끝에서 2를 가져오고, 그 다음 오른쪽 끝에서 3을 가져오고, 왼쪽 끝에서 4, 왼쪽끝에서 5를 가져와 2 3 4 5 증가수열을 만들 수 있습니다.

첫째 줄에 자연수 N(3<=N<=100)이 주어집니다.
두 번째 줄에 N개로 구성된 수열이 주어집니다.
5
2 4 5 1 3

첫째 줄에 최대 증가수열의 길이를 출력합니다.
두 번째 줄에 가져간 순서대로 왼쪽 끝에서 가져갔으면 ‘L', 오른쪽 끝에서 가져갔으면 ’R'를 써 간 문자열을 출력합니다.
(단 마지막에 남은 값은 왼쪽 끝으로 생각합니다.)
4
LRLL

 

풀이

n=int(input())
a=list(map(int,input().split()))

l=0
r=n-1
last=0 # 마지막 숫자
res="" # 증가수열방향문자열

while l<r:
    tmp = []

    if a[l]>last:
        tmp.append((a[l], 'L'))
    if a[r]>last:
        tmp.append((a[r], 'R'))
    tmp.sort()

    if len(tmp)==0:
        break
    else:
        last=tmp[0][0]
        res=res+tmp[0][1]
        if tmp[0][1]=='L':
            l+=1
        else:
            r-=1
    print(tmp)

print(len(res))
print(res)

 

 

 

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'Coding Test/Geedy' 카테고리의 다른 글
  • [5585] 거스름돈
  • 역수열
  • 침몰하는 타이타닉 (deque)
  • 창고정리
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    구현
    큐
    프로그래머스
    덱
    LIS
    동적계획법
    월간코드챌린지
    트리
    알고리즘
    플로이드워셜
    구간합
    그리디
    최소신장트리
    DFS
    힙
    DP
    최단거리
    조합
    백준
    정렬
    스택
    재귀
    Algorithm
    파이썬
    자료구조
    그래프
    다익스트라
    이분탐색
    BFS
    최대공약수
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
증가수열 만들기
상단으로

티스토리툴바