BOJ29 [BOJ] 17252번 - 삼삼한 수 단순 수학문제이다. 3의 거듭제곱들의 합으로 이루어져있는가라는 문장으로 보고 주어진 수를 3진법으로 바꿀 생각이 든다면 쉽게 해결 가능하다. 3진법으로 바꾸었을때 0이나 1이 아닌 2가 포함된 숫자가 나온다면 3의 거듭제곱의 합이 아니라는 뜻이다. 예를들어 1) 109의 경우 109 = 81 + 27 +1 이므로 11001 -> 삼삼한 수이다. 2) 298의 경우 298 = 243 +27 + 27 + 1 이므로 102001 -> 삼삼한 수가 아니다. 아래는 전체 코드이다. 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 31 32 33 34 #include int main() { int N; int three.. 2020. 4. 19. [BOJ] 1931번 - 회의실 배정 그리디 알고리즘으로 푸는 문제였다. 이 문제에서 고려해야할 점은 크게 세가지가 있다. 1) 회의를 일찍 시작하는 순으로 고려해야 하는가 2) 회의시간이 짧은 순으로 고려해야 하는가 3) 회의가 일찍 끝나는 순으로 고려해야 하는가 1) 회의를 일찍 시작하는 순으로 고려해야 하는가 회의를 일찍 시작했지만 종료시간이 너무 늦는 경우 다른 빨리 끝나는 회의가 존재하는 경우 최대값을 구할 수 없어서 반례가 발생한다. 2) 회의시간이 짧은 순으로 고려해야 하는가 회의시간이 짧지만 그보다 회의시간이 긴 회의와 겹치게 되어 최대값을 못 구하는 경우가 있어 반례가 발생한다. 3) 회의가 일찍 끝나는 순으로 고려해야 하는가 일찍 끝남에 따라 다른 회의를 진행할 수 있으므로 이 경우를 선택했다. 아래는 전체 코드이다. 1 .. 2020. 4. 19. 이전 1 2 3 4 다음