(8958) OX 퀴즈
N = int(input())
for i in range(N):
ox = input()
# 갯수데로 ox 받고
result = 0
stack = 0
# 결과와 스택을 따로 변수로 놓는다.
for i in ox:
if i == "O":
stack += 1
else:
stack = 0
# O면 스택을 쌓고, 아니면 0으로 만든다.
result += stack
# 마지막으로 들여쓰기를 안으로 하여 결과에 스택을 넣는다.
print(result)
(4344) 평균은 넘겠지
N = int(input())
for i in range(N):
scores = list(map(int, input().split()))
real_scores = scores[1:]
# 첫 값에 있는 갯수는 빼기
average = sum(real_scores) / len(real_scores)
# 일단 평균 구하기
pick = []
# 픽된 학생들의 점수
for i in real_scores:
if i > average:
pick.append(i)
result = len(pick) / len(real_scores) * 100
# 100 곱하는 것 => 퍼센트 하기
print("%0.3f" % result+"%")
(10809) 알파벳 순서
A = int(input())
B = int(input())
C = int(input())
multiply = str(A*B*C)
num_dict = {
"0":0,
"1":0,
"2":0,
"3":0,
"4":0,
"5":0,
"6":0,
"7":0,
"8":0,
"9":0
}
for a in multiply:
num_dict[a] += 1
for v in num_dict.values():
print(v)
다른 문제에서 힌트를 얻었다. 직접 딕셔너리화 시킨 뒤 딕셔너리 키의 값에 +를 시킨다.
S = input()
my_dict = {
'a' : 0,
'b' : 0,
'c' : 0,
'd' : 0,
'e' : 0,
'f' : 0,
'g' : 0,
'h' : 0,
'i' : 0,
'j' : 0,
'k' : 0,
'l' : 0,
'm' : 0,
'n' : 0,
'o' : 0,
'p' : 0,
'q' : 0,
'r' : 0,
's' : 0,
't' : 0,
'u' : 0,
'v' : 0,
'w' : 0,
'x' : 0,
'y' : 0,
'z' : 0,
}
# 먼저 모든 알파벳에 인덱싱
for i in my_dict:
if i in S:
# 만일 S에 딕셔너리의 키값이 있으면
my_dict[i] += S.index(i)
# 키의 value에 S의 인덱스를 넣는다.
else:
my_dict[i] -= 1
# 아니면 -1을 넣는다.
result = []
for key, value in my_dict.items():
result.append(value)
# 이후 리스트 어펜드 후 언패킹해서 프린트한다.
print(*result)
(2675) 문자열 반복
N = int(input())
for i in range(N):
words = input().split(' ')
# 숫자, 문자가 같이 와도 이거로 클리어
integer = int(words[0])
string = words[1]
# 숫자와 문자열 부분을 나눈다.
sub = []
for i in string:
sub.append(i*integer)
# 문자열은 숫자만큼 곱해줘서 임시의 리스트를 만든다.
result = ""
for i in sub:
result += i
# ""에 +가 되는 성질을 이용해서 더해준다.
print(result)