반응형
https://www.acmicpc.net/problem/2491
n = int(input())
num = list(map(int, input().split()))
inc = 1
dec = 1
tmp = 1
for i in range(len(num)-1):
if num[i] <= num[i+1]:
tmp += 1
else:
inc = max(inc, tmp)
tmp = 1
inc = max(inc, tmp)
tmp = 1
for i in range(len(num)-1):
if num[i] >= num[i+1]:
tmp += 1
else:
dec = max(dec, tmp)
tmp = 1
dec = max(dec, tmp)
print(max(inc, dec))
어렵진 않았는데 재밌다고 생각해서 한 번 들고와봤습니다. 처음에 제가 이 문제를 풀었을 때는 100%에서 실패를 해서 무슨 이런 일이 다 있나 싶어서 혼자서 이것 저것 반례를 생각해서 다 집어넣어봤는데 생각하던대로 나와서 백준 사이트 오류인가 싶었는데 그렇지도 않더라구요. 혼자서는 생각이 안날 것 같아서 질문 게시판을 둘러봐도 100%에서 틀렸다는 분이 안보여서 답답하던 찰나에 질문 게시판 첫번째 질문을 보니까 답변에 n이 1일 경우~~ 라는 글이 보여서 뭔가 번뜩 하길래 바로 제 코드에 입력을 1로 줘봤더니 틀린 답이 나오더라구요. 왜 이런 일이 있었나 생각해보니 문제에서 최소 길이일 경우 정답은 2가 된다라는 말에 현혹이 됐던 것 같습니다. 문제를 잘 읽는 것도 중요하지만 입력의 범위도 정말 중요하다는 걸 깨달은 문제였습니다. 그래도 백준에서 200문제 넘게 풀었는데도 아직 이러는게 좀 재밌었네요. 해당 문제의 정답률도 은근히 낮은게 실수를 유발하는 문제가 아닌가 생각해봅니다.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]16928번 풀이 (0) | 2022.07.13 |
---|---|
[BOJ][Python]14500번 풀이 (0) | 2022.07.12 |
[BOJ][Python]10026번 풀이 (0) | 2022.07.11 |
[BOJ][Python]1783번 풀이 (0) | 2022.07.10 |