안녕하세요. Harry입니다.
본 포스팅의 목적은, 코딩테스트를 준비함에 있어 SWEA에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다.
그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다.
[접근 방식]
- 문제에서 요구하는 역량은 무엇인지?
- 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다.
[풀이 아이디어]
- 전체 합에서 최대값&최소값빼고 평균값 구하기
- 근데 이 평균값이 소수로 나올 수 있음!!!!
- round 함수를 이용해서 소수 첫째 자리에서 반올림해주기!!
- int 를 쓰면 소수점은 버려버리므로 주의!!!
- 무조건 올림하려면 math 라이브러리의 ceil도 있다
[코드]
t = int(input())
for i in range(t):
graph = list(map(int,input().split()))
# h = 전체 합에서 최대값과 최소값을 뺀 것
h = (sum(graph) - max(graph) - min(graph))
# h의 평균구하기
average = h/(len(graph)-2)
# 소수점 첫째 자리에서 반올림
average = round(average,0)
print('#'+f"{i+1}",int(average))
처음에는 round 함수를 적용안하고 그냥 출력해서 오답이 나왔다..
모르는 부분은 아니었는데, 꼼꼼하지 못했다.
문제에서 제시한 내용에서 구현하지 못한 내용이 없는지 반드시 확인할 것 + 출제자가 괜히 그 문구를 써놓은 것이 아님!!
감사합니다.
'Coding Test > 구현' 카테고리의 다른 글
[구현 알고리즘] 1983. 조교의 성적 매기기 (파이썬) (0) | 2023.04.17 |
---|---|
[구현 알고리즘] 1989. 지그재그 숫자 (파이썬) (0) | 2023.04.17 |
[구현 알고리즘] 1989. 초심자의 회문 검사 (파이썬) (0) | 2023.04.17 |
[구현 알고리즘] 2001. 파리 퇴치 (파이썬) (0) | 2023.04.17 |
[구현 알고리즘] 2005. 파스칼의 삼각형 (파이썬) (0) | 2023.04.17 |