Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프로그래머스
- 알고리즘
- 모두를 위한 딥러닝
- 논문
- computer vision
- 백준
- Python
- 내용추가
- object detection
- reinforcement learning
- coding test
Archives
- Today
- Total
NISSO
[백준 4344] 평균은 넘겠지 본문
처음으로 백준 문제를 풀어보려고 쉬운 것부터 도전해보는데 이 문제에만 20분을 쏟았다.
예제 답도 완벽했는데 도대체 뭐가 문제였을까.
문제 1.
프로그래머스만 이용해본 입장에서, 함수 형식이 아니라 input()으로 그 때 그 때 입력받는 방식인 걸 몰랐다.
특히 예제 첫줄만 a로 받고 아래를 모두 b로 한 번에 받았는데, 서치해보니 한 줄씩 받고 바로 출력하는 것이었다.
문제 2.
반례가 있다.
1
1 0
답은 0.000% 인데 100.000%가 나왔다.
정말 작은 실수였다.. 반복문에 b 전체를 받은 것. b[0]은 학생 수라서 b[1:]로 계산해야 맞는 거다.
뒷부분은 b[1:]로 잘해놓고 여기선 생각도 못했다.
다음은 수정한 내 코드다.
a = int(input())
for _ in range(a):
b = list(map(int, input().split()))
print('%.3f' %(len([i for i in b[1:] if i>sum(b[1:])/b[0]])/b[0]*100) + '%')
첫 b[1:]을 b로 썼던 것이다. 당연히 점수가 큰 데선 문제가 없지만 위의 반례 같은 경우에 계산이 잘못 된다.
그리고 프로그래머스에선 왠지 간략히 쓰는 게 간지 같은데 백준은 좀 다른 것 같다.
몇 문제 풀지도 않았지만 프로그래머스에 길들여진 나는 최대한 한 줄로 작성하게 되더라.
쉬운 문제부터 해보겠다고 풀어본 3번째 문젠데 벌써 막혀서 잠시동안 암담했다.
현재 네이버 부스트캠프 AI Tech 2차 코테를 일주일 앞두고 이제야 코테 공부좀 하는 중인데 더 열심히 해야겠다.
'Coding Test' 카테고리의 다른 글
[백준 15651] 백트래킹 (완전탐색) (0) | 2021.06.27 |
---|---|
[백준 2108] 시간초과와 런타임에러 (0) | 2021.06.27 |
[백준 11729] 재귀함수로 하노이탑 이동하기 (0) | 2021.06.26 |
[백준 10870] 피보나치 수 계산 - 재귀 / DP (0) | 2021.06.25 |
[백준 10872] 재귀함수로 팩토리얼 구현 (0) | 2021.06.25 |
Comments