문제
https://softeer.ai/practice/6294
해설
https://vehiclewithai.tistory.com/4
이 문제 또한 위의 1번 문제와 동일하게 입력값을 숫자로 변환한 후 처리 후 출력하는 과정이다.
입력값을 받아들이는 방법, 이를 처리하고 출력하는 방법을 공부하면 바로 풀 수가 있다. 이에 대한 내용은 위 글에 첨부해놨으니 참고하면 좋을 듯 싶다.
위의 내용을 모두 학습했다면, 여기서 두가지를 추가적으로 배울 필요가 있다.
우선 첫번째로 "소수 셋째자리에서 반올림" 기능을 실현시키기 위해서 "round"라는 파이썬 내장함수를 이해할 필요가 있다. round 함수는 "round(숫자, 반올림해서 만들고 싶은 소수자릿수)"와 같이 구성이 되어 있기에, 첫번째 입력값으로는 내가 반올림하고 싶은 숫자를 넣어주고, 두번째로는 반올림해서 몇째자리로 만들지를 적어주면 된다. 이 문제에서는 소수 둘째자리라고 했으므로,
뒤에 2를 붙여주면 된다.
두번째 기능은 출력을 할 때도 소수 둘째자리 까지만 출력을 해주어야만 한다. 이는 print의 부가기능을 사용하면 된다.
"print("%.2f" % what)" 의 코드를 적어주면 된다.
그럼 필요한 기능을 모두 공부했으니, 코드를 작성해보자.
코드
import sys
N, K = map(int, sys.stdin.readline().split())
scores = list(map(int, sys.stdin.readline().split()))
for i in range(K):
A, B = map(int, sys.stdin.readline().split())
sum = 0
for i in range(A-1, B):
sum += scores[i]
# 반올림하여 소수 둘째자리로 만든다.
average = round(sum/(B-A+1),2)
# 소수 둘째자리까지 출력한다.
print("%.2f" % average)
여기서 scores = list(map(float, sys.stdin.readline().split())) 로 적어주어도 좋다.
결과
'알고리즘 > 소프티어' 카테고리의 다른 글
[파이썬] Softeer 연습문제 #6. 우물 안 개구리 완벽해설 (2) | 2023.12.08 |
---|---|
[파이썬] Softeer 연습문제 #5. 강의실 배정 완벽해설 (1) | 2023.12.07 |
[파이썬] Softeer 연습문제 #4. 수퍼바이러스 (Lv. 3) 완벽해설 (1) | 2023.11.26 |
[파이썬] Softeer 연습문제 #3. 징검다리 (Lv. 3) 완벽해설 (1) | 2023.11.25 |
[파이썬] Softeer 연습문제 #1. A+B (Lv. 1) 완벽해설 (2) | 2023.11.25 |