ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1/22기록 - 백준 4344
    Algorithm 2022. 1. 22. 11:24
    728x90

    주말인 만큼 가뿐한 문제 하나 풀어보자는 생각으로 어제와 유사한 평균 문제를 풀어보았다. 결론적으로 생각은 너무 쉽게 했고, 문제를 쭉쭉 풀었는데 답이 계속 이상하게 나와서 의도치 않게 애를 먹은 문제였다.

     

    백준 4344번 평균은 넘겠지 문제이다. 문제가 너무나 간단하기 때문에 읽어보면 바로 이해가 된다. 총 케이스 5개에 대해서 평균이상이 된 사람의 비율을 구하면 된다.

     

    알고리즘 생각

    1. 케이스 수를 입력받는다.

    2. 배열을 하나 선언하고 입력받을 성적 수를 N으로 두고 N크기의 반복문으로 배열에다 차곡차곡 담아준다. 

    3. 평균을 구하기 위해 sum과 avg 변수를 선언해서 식을 만들어준다.

    4. 평균보다 성적이 높을 경우 count++하는 반복문을 만들어준다.

    5. 평균을 넘는 학생 퍼센트는 (count/N) * 100 해주면 완성

     

     

    이렇게 풀었다. 알고리즘 생각한 것과 똑같이 풀었는데 여러 부분에서 의도치 않은 점들이 툭툭 튀어나온 문제였다.

     

    1. StringTokenizer를 사용할 때 for문 밖에다 했더니 arr[j]에 수를 입력하는 부분에서는 계속 NoSuchElementException이 떠서 for문안에서 한번에 두 nextToken()에 영향을 줄 수 있도록 했다.

    2. 바보 같이 avg의 초깃값을 선언해 버려서 순간 답이 이상하게 나와버렸다.

    3. printf를 계속 못 생각하고 있어서 소숫점 세자리까지만 어떻게 나타내야 되지? 하면서 고민을 조금 했던 문제이다.

     

    4. 네 번째가 가장 황당한 문제인데 분명 정확하게 푼것 같았는데, 마지막 55.556%의 출력이 되지 않았다. 그래서 그냥 밑져야 본전이다는 생각으로 백준에다 코드를 제출해 보았는데

     

    ??????????? 답은 맞게 나왔다..... 뭐지........ 

     

    그래서 스터디원들과 고민끝에 입력 부분에 공백을 하나 더 준 상태로 복붙을 해 보았는데 이클립스에서도 맞는 답이 출력되었다.

    이렇게 말이다.

     

    이건 아직도 왜 그런지 이해가 되지를 않는다.... 누군가 이 문제에 대한 이유를 아시는 분이 있다면 댓글로라도 남겨 주셨으면 좋겠다 ㅠㅠㅠ

     

    1/22기록 끝!!!!!!!!

    728x90

    'Algorithm' 카테고리의 다른 글

    1/24기록 - 백준 1357  (0) 2022.01.24
    1/23기록 - 백준 1259  (0) 2022.01.23
    1/21기록 - 백준 1546  (0) 2022.01.21
    1/20기록 - 백준 1110  (0) 2022.01.20
    1/18기록 #2 - 백준 1159  (0) 2022.01.18
Designed by Tistory.