9. 증가 수열 만들기(그리디)
371
작성한 질문수 58
질문 드립니다
최대 증가 수열이라면
3 2 10 1 5 4 7 8 9 6
3->6->9
break가 아니라
문자열을 초기화한 후
다시 새로 수열을 쌓아서
기존에 쌓은 수열의 길이와 비교해보아야하지 않나요?
n = int(input())
a = list(map(int, input().split()))
lt = 0
rt = n - 1
last = 0
string = ''
temp = []
while lt <= rt:
if a[lt] > last:
temp.append((a[lt], 'L'))
if a[rt] > last:
temp.append((a[rt], 'R'))
temp.sort()
# 이 부분 질문
if len(temp) == 0:
break
else:
last = temp[0][0]
# print(last)
tmp = temp[0][1]
string += tmp
if tmp == "L":
lt += 1
else:
rt -= 1
temp.clear()
print(string)
print(len(string))
답변 1
0
안녕하세요^^
그리디는 그 순간에 제일 좋은 것을 선택해 가면 그게 최적해가 되는 알고리즘입니다.
이 문제는 그리디로 해결되는 문제입니다. 만약 그게 의심스러우면 반례를 만들어보면서 경험적으로 증명하는게 그리디를 증명하는 거라 저는 생각합니다. 반례를 만들어보려고 노력해 보세요. 아무리 만들어도 안만들어 지면 그 때 느낌이 오는 그런 알고리즘이 그리디입니다.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
1
80
2
스택에서 ')'을 만나는 경우
0
88
3
문제가 어디있나요?
0
70
2
변수 or 함수명
0
66
1
침몰하는 타이타닉 문제 질문입니다
0
62
1
AA.py 책점 에러
0
60
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
112
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
110
1
아나그램 비교 코드
0
119
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
161
2
문제 링크가있나여?
0
148
2
채점기 Time Limit Exceeded 오류 문의
1
168
2
동적계획법은 사용하는 문제
0
127
2
제 코드 좀 봐주세요
0
148
1
예외가 존재할 가능성?
0
98
1
3번이 안풀립니다
0
95
0
5번 틀림
0
116
0
오류원인?
0
99
0
리스트 선언
0
108
1
침몰하는 타이타닉(그리디) 문제 질문
0
112
1
알고리즘
0
70
1
코딩테스트
0
93
1
DFS 순서 질문드립니다.
0
130
2
left, right를 사용한 풀이법에 대한 질문입니다
0
91
1





