다른 언어로 풀라면 금방 풀 수 있을 것 같은데 생소한 파이썬이라 오래걸렸다.
그리고 아직 제대로 이해도 못한 것 같다...
그런데 풀면서 느낀건 파이썬은 기본으로 제공해주는 함수가 많은 것 같다
min, max함수, set함수는 진짜 편한 것 같다!!!
나중에 꼭 파이썬을 능숙하게 쓸줄 아는 사람이 되고싶다
5-1) 백준 10818번: 최소, 최대
a = int(input())
b = list(map(int, input().split())) //정수를 공백으로 구분해서 입력받아, list에 넣어주기
print(min(b),max(b)) //리스트의 수 중에 min값, max값 출력
5-2) 백준 2562번: 최댓값
a= []
for i in range(9): //9번 반복문 돌며 값 입력받아, 배열에 넣어주기
a.append(int(input()))
print(max(a)) //최대값 출력
print(a.index(max(a))+1) //최대값이 있는 인덱스 + 1 출력(인덱스는 0부터 시작하므로)
5-3) 백준 2577번: 숫자의 개수
a = int(input())
b = int(input())
c = int(input())
result = list(str(a * b * c)) //a,b,c 입력받아 곱해주기
for i in range(10): //10만큼 반복하며 각각에 해당되는 수를 str형으로 비교해서 count한 값 출력
print(result.count(str(i)))
안에 들어간 문자의 수를 세기 위해서는 int형을 str형으로 변경해 준 뒤, 리스트에 넣어준다
그 뒤, count 함수를 사용하여 탐색을 하여 각각의 문자열이 몇 번 쓰였는지 계산하여 출력해 준다.
5-4) 백준 3052번: 나머지
arr = []
for i in range(10): //입력받은 값을 42로 나눈 나머지 배열에 넣어주기
a = int(input())
arr.append(a%42)
arr = set(arr) //set함수 사용하여 배열 중복 제거
print(len(arr)) //배열의 길이 출력
set 함수를 사용하여 중복을 삭제해 주고 len 함수를 사용하여 리스트의 길이를 계산한 뒤, 반환해 준다.
5-5) 백준 1546번: 평균
a = int(input())
b = list(map(int, input().split()))
M = max(b) //입력받은 수 중에 최대값을 구한다
for i in range(a):
b[i] = b[i]/M*100 //문제에서 주어진대로, 값을 새롭게 만들어 넣어준다
avg = sum(b)/a //새로 만든 값들을 토대로 평균을 낸다
print(avg)
5-6) 백준 8958번: OX퀴즈
n = int(input())
for i in range(n):
num = input()
score = 0
cnt = 0
for j in range(len(num)):
if num[j] == 'O':
cnt += 1
score += cnt
elif num[j] == 'X':
score += 0
cnt = 0
print(score)
cnt와 score을 따로 둔 이유는, x가 온 뒤에는 O의 점수가 0으로 다시 초기화되기 때문이다. 이 점을 알면 코드 풀이가 쉬워진다.
5-7) 백준 4344번: 평균은 넘겠지
a = int(input())
for i in range(a):
num = list(map(int, input().split()))
avg = sum(num[1:])/num[0]
cnt = 0
for score in num[1:]:
if score > avg:
cnt += 1
rate = cnt/num[0] *100
print(f'{rate:.3f}%')
첫 수는 학생의 수이므로 그 수를 제외한 뒤의 수 부터 합을 구하고, 그 값을 첫 수로 나누어주면, 해당 케이스의 평균이 나온다.
평균을 넘는 학생들의 비율을 반올림해야하므로, 평균이 넘는 학생수를 cnt에 저장해주고, 소수점 셋째 자리까지 출력하는 비율을 구해준다.
'ⓒⓞⓓⓘⓝⓖⓣⓔⓢⓣ > ⓟⓨⓣⓗⓞⓝ' 카테고리의 다른 글
[python] 단계별로 풀어보기 - 7단계 (0) | 2021.04.29 |
---|---|
[python] 단계별로 풀어보기 - 6단계 (0) | 2021.04.26 |
[python] 단계별로 풀어보기 - 4단계 (0) | 2021.04.26 |
[python] 단계별로 풀어보기 - 3단계 (0) | 2021.04.26 |
[python] 단계별로 풀어보기 - 2단계 (0) | 2021.04.22 |
댓글