-
[월간 코드 챌린지 시즌3] 10월 문제 해설이벤트 2021. 10. 18. 17:46
코딩이 재미있는 사람들을 위한 챌린지! 프로그래머스에서 2021년 9월 9일, 10월 7일 두 번에 걸쳐 월간 코드 챌린지 시즌3가 진행되었습니다. 2021년 10월 7일 19시 30분부터 22시 30분까지 진행된 시즌3 10월 문제의 간단한 해설을 공개합니다. [1번 문제] 나머지가 1이 되는 수 찾기 출제 의도 반복문을 활용할 수 있는지 해설 2부터 n-1까지의 모든 수에 대해 n을 해당 수로 나눈 나머지가 1이 되는 지 확인하면 됩니다. 시간복잡도는 $O(n)$ 입니다. 더 빠른 방법 해설 정답을 $p$라고 할 때, $n = pk + 1$ 이므로, $n-1 = pk$ 입니다. 즉, $n-1$의 가장 작은 약수(1 제외)를 찾으면 됩니다. $\sqrt{n}$ 까지의 모든 수를 직접 나눠보는 방식(시간..
-
[월간 코드 챌린지 시즌1] 11월 문제 해설이벤트 2020. 11. 13. 19:04
코딩이 재미있는 사람들을 위한 월간 코드 챌린지 시즌1이 종료되었습니다. 2020년 11월 5일에 진행된 마지막 대회 문제들에 대한 간단한 해설을 공개합니다. [1번 문제] 내적 출제의도 주어진 로직을 구현할 수 있는지 해설 말 그대로 두 배열의 내적을 구하는 문제입니다. for문 등의 반복문을 활용하여 문제에서 주어진 로직을 구현할 수 있습니다. 시간복잡도는 $O(n)$ 입니다. ($n$은 배열의 길이) [2번 문제] 이진 변환 반복하기 출제의도 진법 변환을 적절하게 응용할 수 있는지 해설 x의 모든 0을 제거한 후 남은 문자열의 길이는, x에 들어있는 모든 1의 개수임을 알 수 있습니다. 어떤 정수 x를 2진법 문자열로 표현하는 함수를 만들고, 지문에 주어진 로직을 그대로 따라가면 문제를 풀 수 있습..