티스토리 뷰
Algorithm/[Java+Python+JavaScript]BackJoon
[Python]4344번, 리스트 슬라이싱, 소수점 자리수 조절하기
Vagabund.Gni 2023. 2. 5. 13:31728x90
반응형
문제
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다.
당신은 그들에게 슬픈 진실을 알려줘야 한다.
입력
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다.
점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
풀이
파이썬에선 리스트를 자르는 행위를 슬라이스라고 부르는 것 같다.
방식도 써먹을 곳도 굉장히 다양하지만 그건 차차 정리하도록 하고..
나는 이번에 한 줄로 들어오는 숫자에서 학생의 숫자와 그 점수를 분리하는 데 사용했다.
슬라이싱 역시 상당히 간결한데, 자르고 싶은 리스트 이름을 가지고 list[0:2] 하고 입력하는 식이다.
이렇게 하면 마지막 인덱스(2)를 제외한 리스트가 잘려나오게 된다.
만약 리스트의 끝까지 자르고 싶다면 시작점만 입력한다(list[1:]).
또한 소수점 자릿수를 다루는 법도 배웠는데, 몇 가지 방법이 있었지만 제일 간단해 보이는 것으로 사용했다.
자세한 것은 코드에서!
import sys
c = int(sys.stdin.readline())
result = []
for i in range(c):
total = list(map(int, sys.stdin.readline().split()))
number = total[0]
score = total[1:]
average = sum(score) / number
count = 0
for j in score:
if j > average:
count += 1
result.append(count * 100 / number)
result = [f'{i:.3f}%' for i in result]
print(*result, sep='\n')
반응형
'Algorithm > [Java+Python+JavaScript]BackJoon' 카테고리의 다른 글
[Python]15596번, 함수 정의하기 (0) | 2023.02.05 |
---|---|
[BackJoon]1004번 (0) | 2023.02.05 |
[BackJoon]1002번, 두 원 사이의 관계 (0) | 2023.02.05 |
[Python]8958번, 문자열을 바로 리스트로 바꾸기 (0) | 2023.02.05 |
[Python]1546번, 리스트 내부에서 반복문 돌기 (0) | 2023.02.05 |
[Python]3052번, set() (0) | 2023.02.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- 맛집
- 동적계획법
- Algorithm
- 지지
- 자바
- 알고리즘
- 스프링
- 유럽여행
- 기술면접
- 세계일주
- 유럽
- 백준
- 여행
- 야경
- 남미
- 파이썬
- a6000
- java
- 리스트
- 스트림
- 세계여행
- 세모
- 면접 준비
- 중남미
- RX100M5
- 칼이사
- Backjoon
- spring
- BOJ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함