📌 문제 링크: https://www.acmicpc.net/problem/5430
5430번: AC
각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다....
www.acmicpc.net
❌ 내 풀이 (Failure) :
![[BOJ_5430] AC [BOJ_5430] AC](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
![[BOJ_5430] AC [BOJ_5430] AC](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
✅ 내 풀이 (Success) :
![[BOJ_5430] AC [BOJ_5430] AC](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
🧐 Review:
골드 난이도의 문제지만 구현 아이디어가 간단한 편이라서 쉽게 생각했던 문제였다. 하지만 풀이를 제출하고 계속되는 '런타임 에러'를 보고 어떻게 해결해야 할지 고민을 많이 했었다... 해당 에러는 배열의 길이가 0일 때 값을 입력받지 않고 결괏값을 출력하는 경우라서 배열이 길이가 0이더라도 일단 input을 받도록 코드를 수정했다. 이렇게 수정했을 때는 '런타임 에러'가 더 이상 발생하지 않았고, 그 대신 '시간 초과'가 발생했다. '시간 초과'가 발생하는 부분은 구글링을 통해 다른 사람들의 코드를 보며 풀이를 이해하고, 내 코드에 맞게 코드를 수정하고 문제를 해결할 수 있었다.
지금까지 알고리즘 문제를 풀면서 문제를 해결하지 못한다면 다른 사람의 풀이를 보지 않고, 그 문제를 그냥 넘기는 식으로 공부를 했었다. 하지만 이제 와서 생각해보니 이 방법은 그다지 좋은 방법은 아닌 것 같다. 지금은 연습하는 과정이기 때문에 문제를 완벽하게 풀어내지 못했다고 하더라도 다른 사람의 풀이를 보면서 공부하는 것이 좀 더 효율적인 방법이라는 것을 느꼈다.
앞으로는 정해진 시간안에 문제를 풀지 못한다면 다른 사람의 풀이를 보며 학습하도록 하자! 그 대신 그 문제는 일정 시간이 지나고 꼭 다시 풀어보자!
🚩 Idea:
구현 아이디어는 꽤 간단하다. 하지만 이 문제는 주어지는 조건을 곧바로 적용하기만 한다면 '시간 초과'가 발생하기 쉽다.
문제를 풀면서 '런타임 에러'나 '시간 초과'가 발생한다면 다음 링크를 한 번 확인해보면 도움이 될 것 같다.
링크 : https://www.acmicpc.net/board/view/25456
'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글
[BOJ_24444] 알고리즘 수업 - 너비 우선 탐색 1 (0) | 2022.06.06 |
---|---|
[BOJ_24479] 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2022.06.06 |
[BOJ_15904] UCPC는 무엇의 약자일까? (0) | 2022.06.05 |
[BOJ_5635] 생일 (0) | 2022.06.05 |
[BOJ_10610] 30 (0) | 2022.06.04 |
댓글