문제 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 풀이 필자 개인적으로는 매우 재미있는 문제라고 생각한다. 방법은 많겠지만 필자는 아래와 같은 순서로 문제를 풀고자 했다. 해당 숫자가 대칭수인지 확인하는 함수를 작성100~999 숫자의 곱의 모든 조합을 확인 곱의 조합 중 가장 큰 대칭수를 출력 대칭수는 앞으로 읽어도, 뒤로 읽어도 같은 모양인 숫자를 말한다. 어떤 숫자 x 가 대칭수인지 확인하기 위해서는 해당 숫자를 뒤집은 y를 구한 뒤 x == y 를 확인해야한다. Array를 만들어 ..
문제 어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.600851475143의 소인수 중에서 가장 큰 수를 구하세요. 풀이 우선 어떤 숫자가 소수인지 아닌지를 구분할 수 있는 소수 판별 알고리즘을 작성해보자. 소수의 정의는 다음과 같다. " 1과 자기 자신 외에 어떠한 숫자와도 나누어 떨어지지 않는 수. " 이러한 사실을 기반으로 소수 판별 알고리즘을 아래와 같이 작성할 수 있다. /* 소수인경우 true를 리턴 */private boolean isSosu(long x) { boolean isSosu = true; if (x == 1 || x == 2) return true; for (lon..
문제 피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까? 풀이 피보나치 수열의 규칙은 다음과 같다.처음 항은 1이다.두번째 항은 2이다.1과 2를 제외한 n번째 항은 (n-1번째 항)+(n-2번째 항) 이다. 위 규칙을 기반으로 피보나치 수열을 구하는 알고리즘은 다음과 같이 표현할 수 있다. while(true) { fiboIdx_03 = fiboIdx_01 + fiboIdx_02; fiboIdx_01 = fiboIdx_02; fiboIdx_02 = fiboIdx_03; } 아래와 같이 위 알고리즘에 짝수이면서 ..
- Total
- Today
- Yesterday
- 영어회화
- 영어발음
- live template
- 코틀린 기초강의
- Android
- php
- 안스 템플릿
- 런탭
- 컴포즈 바텀시트
- 안드로이드 스튜디오 라이브 템플릿
- Programming
- 안드로이드 컴포즈
- kotlin 기초
- LiveTemplate
- 안드로이드 스튜디오
- compose bottomsheet
- 코딩
- 코틀린
- 안드로이드 바텀시트
- 코틀린 기초
- 자바
- Java
- android studio
- 코딩문제
- 안드로이드
- 프로젝트오일러
- 개발자
- 문제풀이
- 프로그래밍
- Kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |