(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)
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글

관련 채용 정보