-
[월간 코드 챌린지 시즌2] 5월 문제 해설이벤트 2021. 5. 14. 14:04
코딩이 재미있는 사람들을 위한 챌린지! 프로그래머스에서 4월 15일, 5월 13일 두 번에 걸쳐 월간 코드 챌린지 시즌2가 진행되었습니다. 2021년 5월 13일 19시 30분부터 22시 30분까지 진행된 시즌2 5월 문제의 간단한 해설을 공개합니다. [1번 문제] 약수의 개수와 덧셈 출제 의도 약수의 개수를 구하는 방법을 구현할 수 있는지 해설 어떤 자연수 $x$에 대하여 $x$의 약수의 개수를 구하는 방법은 다음과 같습니다. $i = 1, 2, \ldots x$에 대해서, $x$를 $i$로 나눈 나머지가 0인 $i$의 개수를 찾으면 됩니다. 이 행동을 $left, left+1, \ldots, right$에 대해 반복하면 됩니다. 시간 복잡도는 $O((right - left) \text{ } right..
-
[월간 코드 챌린지 시즌2] 4월 문제 해설이벤트 2021. 4. 16. 14:14
코딩이 재미있는 사람들을 위한 챌린지! 프로그래머스에서 4월 15일, 5월 13일 두 번에 걸쳐 월간 코드 챌린지 시즌2가 진행되고 있습니다. 2021년 4월 15일 19시 30분부터 22시 30분까지 진행된 시즌2 4월 문제의 간단한 해설을 공개합니다. [1번 문제] 음양 더하기 출제의도 주어진 문제를 푸는 로직을 구상하고 그 로직을 구현할 수 있는지 해설 먼저 정답을 0으로 설정한 후, absolutes 배열에 있는 모든 수들을 차례대로 보는데, 그 수에 해당하는 signs 값이 참이면 정답에 더하고, 거짓이면 정답에 빼면 됩니다. $n$을 두 배열의 길이라고 할 때, 시간 복잡도는 $O(n)$ 입니다. [2번 문제] 괄호 회전하기 출제의도 문자열과 스택을 적절하게 활용할 수 있는지 해설 먼저 문자열..
-
[월간 코드 챌린지 시즌1] 9월 문제 해설이벤트 2020. 9. 15. 13:53
코딩이 재미있는 사람들을 위한 챌린지! 프로그래머스에서 9월 10일부터 11월 5일까지 월간 코드 챌린지 시즌1이 진행되고 있습니다. 2020년 9월 10일 19시 30분부터 22시 30분까지 진행된 첫 번째 대회 문제들에 대한 간단한 해설을 공개합니다. [1번 문제] 두 개 뽑아서 더하기 출제의도 주어진 로직을 그대로 구현할 수 있는지 반복문을 적절하게 활용할 수 있는지 해설 2중 반복문을 활용하여 서로 다른 인덱스에 있는 두 수를 더해서 만들 수 있는 모든 수를 찾아서 새로운 배열에 저장합니다. 이제 새로운 배열에 있는 모든 수들 중 중복되는 수들을 제거해 하나만 남겨야 합니다. 정렬을 하거나, 또는 hashset, balanced binary tree 등의 자료구조를 사용해서 뽑아낼 수 있습니다. ..