정리

백준 17074번: 정렬 본문

Programming/백준 BOJ

백준 17074번: 정렬

H.J.Park 2020. 7. 1. 18:39

백준 17074번: : 정렬

 

배열에 저장된 수를 하나씩 제외해서 배열 전체가 정렬이 되는지 확인하면 시간제한을 초과합니다.

경우의 수를 나눠

i) 이미 정렬이 되어 있는 경우

- 이미 배열이 정렬 되어 있으므로 어느 수를 버리더라도 정렬이 유지되므로 N개의 경우의 수가 나옵니다.

ii) 한 구간 빼고 정렬이 되어 있는 경우

- array[i-1] <= array[i+1] (i번째 배열의 방이 정렬되지 않은 수) 인 경우 i번째 배열의 방을 제거하면 전제 배열이 정렬됩니다.

-array[i] <= array[i+2] (i번째 배열의 방이 정렬되지 않은 수) 인 경우 i+1번째 배열의 방을 제거하면 전체 배열이 정렬됩니다.

->위의 두 가지 조건을 모두 만족하면 경우의 수는 2, 한 가지만 만족하면 경우의 수는 1, 모두 만족하지 못하면 경우의 수는 0을 출력하면 됩니다.

iii) 두 구간 이상 정렬이 되어 있지 않은 경우

- 어느 수를 버리더라도 정렬이 되지 않으므로 0개의 경우의 수가 나옵니다.

 

'Programming > 백준 BOJ' 카테고리의 다른 글

백준 1037번: 약수  (0) 2020.07.02
백준 1978번: 소수 찾기  (0) 2020.07.02
백준 10815번: 숫자 카드  (0) 2020.07.02
백준 16676번: 근우의 다이어리 꾸미기  (0) 2020.06.30
백준 2439번: 별 찍기 - 2  (0) 2020.06.30
Comments