Python

[백준 단계별로 풀어보기] python3 1차원 배열

maencoli 2021. 12. 27. 00:28

10818 최소, 최대

최솟값과 최댓값을 찾는 문제

num = int(input())
num_list = list(map(int, input().split()))
min_list = num_list[0]
max_list = num_list[0]

i = 0
while i in range(num):
    if num_list[i] < min_list:
        min_list = num_list[i]
    if num_list[i] > max_list:
        max_list = num_list[i]

    i += 1

print(min_list, max_list)

 

2562 최댓값

최댓값이 어디에 있는지 찾는 문제

num_list = []
for i in range(9):
    num_list.append(int(input()))

print(max(num_list))
print(num_list.index(max(num_list))+1)

 

2577 숫자의 개수

각 숫자가 몇 번 나왔는지 저장하기 위해 일차원 배열을 만드는 문제

A = int(input())
B = int(input())
C = int(input())
abc = str(A*B*C)

print(abc.count('0'))
print(abc.count('1'))
print(abc.count('2'))
print(abc.count('3'))
print(abc.count('4'))
print(abc.count('5'))
print(abc.count('6'))
print(abc.count('7'))
print(abc.count('8'))
print(abc.count('9'))

 

3052 나머지

위와 비슷한 문제

res_list = set()
for i in range (10):
    i = int(input())
    resid = i % 42
    res_list.add(resid)

print(len(res_list))

 

1546 평균

평균을 조작하는 문제

sub_num = int(input())
sub_grades = list(map(int, input().split()))
M = max(sub_grades)
avr = 0
for grade in sub_grades:
    grade = grade/M*100
    avr += grade
        
print(avr/sub_num)

 

8958 OX 퀴즈

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

num_case = int(input())
for i in range (num_case):
    case = input()
    total_score = 0
    score = 1
    for i in case:
        if i == 'O':
            total_score += score
            score += 1
        else:
            score = 1
    print(total_score)

 

4344 평균은 넘겠지

case_no = int(input())
for i in range (case_no):
    case = list(map(int, input().split()))
    case_no = case[0]
    case_score = case[1:]
    avr = sum(case_score)/case_no
    i = 0
    for score in case_score:
        if avr < score:
            i += 1
    print("{:.3f}%".format(i/case_no*100))