Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 프로그래머스 풀이
- 알고리즘
- StringTokenizer
- 삼각형의 완성조건
- Stack
- 백준
- 버퍼
- COS Pro
- lv0
- 문자열
- Programmers
- 스프링부트 도커 배포
- Lv1
- lv2
- SWEA
- 큐
- java
- 프로그래머스 자바
- 프로그래머스 문자열 정렬
- 오름차순 정렬
- 스프링부트 도커로 배포
- 스택
- 이진수 변환
- 클라이언트
- 백준 N과 M 자바
- Queue
- 프로그래머스
- 스프링부트 도커
- index of
Archives
- Today
- Total
mun dev
[COS PRO 1급] 3-7 카프리카 수 자바(Java) 본문
문제링크
문제유형
solution 함수 수정하기
문제
import java.util.*;
class Main {
public int[] solution(int k) {
int[] kaprekarArr = new int[k];
int count = 0;
for (int i = 1; i <= k; i++) {
long squareNum = i * i;
long divisor = 1;
while (squareNum % divisor != 0) {
long front = squareNum / divisor;
long back = squareNum % divisor;
divisor *= 10;
if (back != 0 && front != 0)
if (front + back == i) {
kaprekarArr[count] = i;
count++;
}
}
}
int[] answer = new int[count];
for (int i = 0; i < count; i++)
answer[i] = kaprekarArr[i];
return answer;
}
// 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다. main 메소드는 잘못된 부분이 없으니, solution 메소드만 수정하세요.
public static void main(String[] args) {
Main sol = new Main();
int k = 500;
int[] ret = sol.solution(k);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("solution 메소드의 반환 값은 " + Arrays.toString(ret) + " 입니다.");
}
}
문제 풀이
import java.util.*;
class Main {
public int[] solution(int k) {
int[] kaprekarArr = new int[k];
int count = 0;
for (int i = 1; i <= k; i++) {
long squareNum = i * i;
long divisor = 1;
while (squareNum / divisor != 0) { // 수정된 부분
long front = squareNum / divisor;
long back = squareNum % divisor;
divisor *= 10;
if (back != 0 && front != 0)
if (front + back == i) {
kaprekarArr[count] = i;
count++;
}
}
}
int[] answer = new int[count];
for (int i = 0; i < count; i++)
answer[i] = kaprekarArr[i];
return answer;
}
// 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다. main 메소드는 잘못된 부분이 없으니, solution 메소드만 수정하세요.
public static void main(String[] args) {
Main sol = new Main();
int k = 500;
int[] ret = sol.solution(k);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("solution 메소드의 반환 값은 " + Arrays.toString(ret) + " 입니다.");
}
}
'알고리즘 > COS PRO 1급' 카테고리의 다른 글
[COS PRO 1급] 3-9 팝업 스토어를 열 최적의 날짜 자바(Java) (0) | 2023.11.29 |
---|---|
[COS PRO 1급] 3-8 선풍기를 몇대 사야 하나요 자바(Java) (0) | 2023.11.29 |
[COS PRO 1급] 3-6 소수의 합을 표현하기 자바(Java) (0) | 2023.11.29 |
[COS PRO 1급] 3-5 전광판 문구 출력 자바(Java) (0) | 2023.11.28 |
[COS PRO 1급] 3-4 중복 문자열 이어붙이기 자바(Java) (0) | 2023.11.28 |