문제 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(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..
문제 10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다.1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요? 풀이 첫번째 문제인 만큼 아주 쉬운 문제가 나왔다. 알고리즘은 아래와 같다.정수형 변수를 1부터 999까지 1씩 증가시키면서 해당 숫자가 3 혹은 5와 나누어 떨어지는지 확인한다.알고리즘 1의 결과가 참일 경우 해당 숫자를 정수형 변수에 더한다. 위 알고리즘을 기반으로 작성한 코드는 다음과 같다. public class Problem_01 { public static void main(String[] args) { // TODO Auto-generated method stub int sum = 0; for(int i..
- Total
- Today
- Yesterday
- 영어회화
- php
- 프로그래밍
- 프로젝트오일러
- 컴포즈 바텀시트
- 문제풀이
- 안드로이드 컴포즈
- 코딩
- 안드로이드 스튜디오 라이브 템플릿
- 개발자
- 안드로이드 바텀시트
- 코딩문제
- compose bottomsheet
- Android
- 코틀린 기초
- 안드로이드 스튜디오
- Programming
- kotlin 기초
- 영어발음
- Java
- android studio
- 코틀린 기초강의
- live template
- 런탭
- 코틀린
- Kotlin
- 안드로이드
- 안스 템플릿
- LiveTemplate
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |