File tree Expand file tree Collapse file tree 4 files changed +75
-0
lines changed
Expand file tree Collapse file tree 4 files changed +75
-0
lines changed Original file line number Diff line number Diff line change 1+ #CH11 그리디 기출
2+ #예제 11-1
3+ #모험자 길드
4+
5+ N = int (input ())
6+ xList = list (map (int ,input ().split ()))
7+ xList .sort (reverse = True )
8+ cnt = 0
9+ #필요 인원수
10+ cur = xList [0 ]
11+ for i in range (0 ,N ):
12+ cur -= 1
13+ if cur == 0 :
14+ cnt += 1
15+ cur = xList [i ]
16+ print (cnt )
Original file line number Diff line number Diff line change 1+ #CH11 그리디 기출
2+ #예제 11-2
3+ #곱하기 혹은 더하기
4+
5+ numbers = input ()
6+
7+ result = 0
8+ for num in numbers :
9+ num = int (num )
10+ if result < 2 or num < 2 :
11+ result += num
12+ else :
13+ result *= num
14+ print (result )
15+
Original file line number Diff line number Diff line change 1+ #CH11 그리디 기출
2+ #예제 11-3
3+ #문자열 뒤집기
4+ import sys
5+ input = sys .stdin .readline
6+ string = input ().rstrip ()
7+ cnt = [0 ,0 ]
8+
9+ cur = - 1
10+ for s in string :
11+ s = int (s )
12+ if s != cur :
13+ cnt [s ]+= 1
14+ cur = s
15+ print (min (cnt [0 ],cnt [1 ]))
16+ #cnt 변수를 하나만 두고 2로 나눈 몫을 출력해도 됨.
17+ #0->1 으로 바뀌는 횟수와 1->0으로 바뀌는 횟수는 최대 1번 밖에 차이가 나지 않기 때문임.
18+
Original file line number Diff line number Diff line change 1+ #CH11 그리디 기출
2+ #예제 11-3
3+ #문자열 뒤집기
4+
5+ #solved.ac
6+ #실버5
7+ #그리디
8+ #문자열 뒤집기
9+ #1439
10+
11+ import sys
12+ input = sys .stdin .readline
13+ string = input ().rstrip ()
14+ cnt0 = 0
15+ cnt1 = 0
16+
17+ cur = - 1
18+ for s in string :
19+ s = int (s )
20+ if s != cur :
21+ if s == 0 :
22+ cnt0 += 1
23+ else :
24+ cnt1 += 1
25+ cur = s
26+ print (min (cnt0 ,cnt1 ))
You can’t perform that action at this time.
0 commit comments