본문 바로가기

그냥, 코딩

(python)백준 4단계 1차원 배열

반응형
c = int(input()) # 테스트 케이스의 개수
for i in range(c):
  info = list(map(int, input().split()))
  student = info[0]
  score = info[1:]
  average = sum(score) / student
  over_avg = 0
  for j in score:
    if j > average:
      over_avg +=1
  result = over_avg/student*100
  print(f'{result:.3f}%')

바로가기

https://www.acmicpc.net/step/6

 

1차원 배열 단계

OX 퀴즈의 결과를 일차원 배열로 입력받아 점수를 계산하는 문제

www.acmicpc.net

 

# 10807번 : 개수세기

# n: 몇 개의 정수를 넣을 것인지
# m: 입력되는 정수들을 list형으로 변수 
# x: m에 들어가 있는 x값을 찾기 
n = int(input()) 
m = list(map(int, input().split()))
x = int(input())
print(m.count(x)) # m안에 x값이 몇개 들어있는지 개수 세기

 

# 10871번 : X보다 작은 수 

n, x = map(int, input().split())
m = list(map(int, input().split()))

for i in range(n):
  if m[i] < x:
    print(m[i], end=' ')

 

# 10818번 : 최소, 최대

# 1번째 방법
n = int(input())
m  = list(map(int, input().split()))
min_num = m[0]
max_num = m[0]

for i in range(1,n):
  if m[i] < min_num:
    min_num = m[i]
  elif m[i] > max_num:
    max_num = m[i]
print(min_num, max_num)
#2번째 방법
n = int(input())
m = list(map(int, input().split()))

print(min(m),max(m))

 

# 2562번 : 최대값

a = []
for i in range(9):
  n = int(input())
  a.append(n)
print(max(a))
print(a.index(max(a))+1)

 

# 5597번 : 과제 안 내신 분

num_list = []
for i in range(1,31):
  num_list.append(i)
print(num_list)

student = []
for i in range(28):
  a = int(input())
  student.append(a)
print(student)

absence = []
for i in range(30):
  if num_list[i] not in student:
    absence.append(num_list[i])
print(sorted(absence)[0])
print(sorted(absence)[1])

 

# 3052번 : 나머지

num = []
for i in range(10):
  a = int(input())
  num.append(a)
#print(num)

x = []
for i in range(10):
  b = num[i]%42
  x.append(b)

print(len(set(x)))

 

# 1546번 : 평균

# 과목의 개수 : N개 
n = int(input())
score = list(map(int, input().split()))
#print(score)

max_score = max(score)
#print(max_score)

sejun_score = []
for i in range(n):
  a = score[i]/max_score*100
  sejun_score.append(a)
#print(sejun_score)
print(sum(sejun_score)/len(sejun_score))

 

# 8958번 : OX퀴즈

n = int(input())

for i in range(n):
  ox_list = list(input())
  sum = 0
  oh_sum = 0
  for j in ox_list:
    oh = 'O'
    if j == oh:
      oh_sum += 1
      sum += oh_sum
    else:
      oh_sum = 0 # 초기화 효과
  print(sum)

 

# 4344번 : 평균은 넘겠지

c = int(input()) # 테스트 케이스의 개수
for i in range(c):
  info = list(map(int, input().split()))
  student = info[0]
  score = info[1:]
  average = sum(score) / student
  over_avg = 0
  for j in score:
    if j > average:
      over_avg +=1
  result = over_avg/student*100
  print(f'{result:.3f}%')

 

반응형