본문 바로가기
python-algorithm

백준 25629 홀짝 수열

by 무적김두칠 2022. 10. 10.

https://www.acmicpc.net/problem/25629

 

25629번: 홀짝 수열

길이가 $N$인 수열의 $i(1 \le i \le N)$번째 원소를 정수 $a_i(1\le a_i \le 100)$라고 하자. 동훈이는 이 수열을 잘 정렬해서 홀짝 수열로 만들고 싶다. 어떤 수열이 홀짝 수열이 되려면 다음 조건을 만족해

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def sol(n,nums):
    odds = 0
    evens = 0
    for i in nums:
        if i % 2 == 0:
            evens += 1
        else:
            odds += 1
    if n%2==1:
        if odds==n//2+1 and evens==n//2:
            return 1
        else:
            return 0
    else:
        if odds==n//2 and evens==n//2:
            return 1
        else:
            return 0
 
 
n=int(input())
nums=list(map(int, input().split()))
print(sol(n,nums))
cs

수열의 조건이 '증가'가 아니라 '단조 증가'라서 쉬웠는데요, 그리고 수열의 시작은 1입니다(0 아님!!)
Sequence Condition is not 'Increasing' but 'monotonous increasing'
Sequence Start is number 1(Not Zero)

n이 짝수인 경우는, 홀수의 개수와 짝수의 개수가 n의 절반과 같으면 됩니다
When n is even : Odds's count(k)+Evens's count(k) == n

홀수인 경우는 홀수의개수 k+1 짝수의개수 k , 2k+1==n 인 경우면 됩니당
When n is odd:  Odds's count(k+1)+Evens's count(k) == n

 

참조:
https://en.wikipedia.org/wiki/Monotonic_function

 

Monotonic function - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Order-preserving mathematical function Figure 1. A monotonically non-decreasing function. Figure 2. A monotonically non-increasing function Figure 3. A function that is not monotonic I

en.wikipedia.org

 

반응형

'python-algorithm' 카테고리의 다른 글

백준 2204 도비의 난독증 테스트  (0) 2022.10.12
백준 10989 수 정렬하기 3  (0) 2022.10.11
백준 5217 쌍의 합  (0) 2022.10.09
백준 25377 빵  (0) 2022.10.08
백준 25628 햄버거 만들기  (0) 2022.10.07

댓글