Skip to content

Commit 524d64e

Browse files
authored
승연 그리디 기출 숙제(4/6화) (#55)
* 모험자 길드 * 곱하기 혹은 더하기 * 문자열 뒤집기 * 1439 * 문자열 뒤집기 수정
1 parent cb9310a commit 524d64e

File tree

4 files changed

+75
-0
lines changed

4 files changed

+75
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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+

‎syheo/codingTest1/Baekjoon/1439.py‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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))

0 commit comments

Comments
 (0)