190109 백준 알고리즘 문제풀기
09 Jan 2019 | baekjoonBaekjoon 알고리즘 문제풀기
[8958] OX퀴즈
문제
- “OOXXOXXOOO”의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
-
위 규칙대로 N번의 횟수에 대해 반복하는 프로그램을 작성
- 파이썬
list
내의 빈 문자를 제거 할 땐list_name = [x for x in list_name if x]
를 이용한다.
정답
case = int(input())
for j in range(case):
a = str(input())
r = ''
for k in range(len(a)):
if a[k]=='O':
r += '1'
else:
r += '0'
r = [x for x in r.split('0') if x]
sum = 0
for j in range(len(r)):
for k in range(len(r[j])):
sum += (k+1)
print(sum)
[2920] 음계
문제
- 8개의 숫자가 주어지고, 그 숫자가 증가하는 추세면 ‘ascending’, 감소하는 추세면 ‘descending’, 증감하면 ‘mixed’를 출력
정답
a = list(map(int, input().split()))
def pm (a):
if a<0:
return -1
else:
return 1
result = []
for j in range(len(a)-1):
result.append(pm(a[j] - a[j+1]))
if -1 in result:
if 1 in result:
print('mixed')
else:
print('ascending')
else:
print('descending')
[10039] 평균 점수
문제
- 5명의 점수를 입력하나, 40점 미만은 40점이 된다.
정답
avg = 0.0
for j in range(5):
s = int(input())
if s<40:
s = 40
avg += float(s)
print(int(avg/5.0))