Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Archives
Today
Total
관리 메뉴

NISSO

[백준 4344] 평균은 넘겠지 본문

Coding Test

[백준 4344] 평균은 넘겠지

oniss 2021. 6. 25. 17:14

처음으로 백준 문제를 풀어보려고 쉬운 것부터 도전해보는데 이 문제에만 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차 코테를 일주일 앞두고 이제야 코테 공부좀 하는 중인데 더 열심히 해야겠다.

Comments