3/4 스터디 문제

hyejun sang·2022년 3월 4일
0

알고리즘

목록 보기
2/28
post-thumbnail

1번 문제.
https://www.acmicpc.net/problem/1026
-> 보물

1번 문제 풀이 코드

n = int(input())
a_list = list(map(int, input().split()))
b_list = list(map(int, input().split()))

result = 0
a_list.sort()

for i in range(n) :
    a = a_list[i]
    b = b_list.pop(b_list.index(max(b_list)))

    result += a * b

print(result)

2번 문제.
https://www.acmicpc.net/problem/2108
-> 통계학

2번 문제 풀이 코드

import sys

n = int(sys.stdin.readline())

nums = []
for i in range(n) :
    nums.append(int(sys.stdin.readline()))

# 1. 산술평균
am = round((sum(nums) / n))
print(am)

# 2. 중앙값
nums.sort()
median = nums[round(n/2)]
print(median)

# 3. 최빈값
# 딕셔너리 이용
cnt_dict = {}
for i in nums :

    if i in cnt_dict :
        cnt_dict[i] += 1
    else :
        cnt_dict[i] = 1

max_cnt = max(cnt_dict.values())
frequency = []
for i in cnt_dict :
    if max_cnt == cnt_dict[i] :
        frequency.append(i)

if len(frequency) > 1 :
    frequency.sort()
    print(frequency[1])
else :
    print(frequency[0])

# 4. 범위
rang = abs(nums[-1] - nums[0])
print(rang)

... 2번 문제 예제 입력 값들 다 맞았는데... 결국 틀렸다..
내일 Collection을 이용해서 다시 풀어볼 것

0개의 댓글