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
- 달빛클럽1기
- 자바
- 노마드코더
- 프로그래머스
- BOJ
- HashMap
- 달빛클럽
- 리액트
- 완전탐색
- 알고리즘
- dfs
- SoftwareExpertAcademy
- Java
- 경제공부
- programmers
- 인플레이션에서 살아남기
- 재귀
- 백준
- 노마드코더 강의
- React
- Algorithm
- Array
- JPA
- 달빛클럽 1기
- 카카오블라인드코딩테스트
- Stack
- ReactJS로 영화 웹 서비스 만들기
- SWEA
- React.js
- 달빛캠퍼스
Archives
- Today
- Total
th42500의 TIL
[Java] 2022 KAKAO BLIND RECRUITMENT - k진수에서 소수 개수 구하기 (Lv2) 본문
Algorithm/Programmers
[Java] 2022 KAKAO BLIND RECRUITMENT - k진수에서 소수 개수 구하기 (Lv2)
th42500 2022. 8. 1. 22:08https://school.programmers.co.kr/learn/courses/30/lessons/92335
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✔ 입출력 예시
💡 풀이과정 및 포인트
1️⃣ n을 k의 진수로 변환
2️⃣ k진수로 변환한 수에서 0이 포함되지 않는 수 P 찾기 (0기준으로 자르기)
3️⃣ 0이 포함되지 않는 수 P가 소수인지 아닌지 판별 (수가 너무 커질 수 있으므로 long 타입 사용)
✔ 소스코드
import java.util.Arrays;
import java.util.List;
public class Solution { // k진수에서 소수 개수 구하기
public static void main(String[] args) {
// int n = 437674;
// int k = 3;
// int n = 110011;
// int k = 10;
int n = 25;
int k = 2;
System.out.println(solution(n, k));
}
private static int solution(int n, int k) {
int answer = 0;
StringBuilder sb = new StringBuilder();
while (n > 0) {
sb.append(n % k);
n /= k;
}
// 0 기준으로 잘라서 List 생성
List<String> numList = Arrays.asList(sb.reverse().toString().split("0"));
for(String num:numList) {
if(num.equals("")) {
continue;
}
if(isPrime(Long.parseLong(num))) { // 수가 너무 커서 long 타입 사용
answer++;
}
}
return answer;
}
// 소수 판별
private static boolean isPrime(long num) {
if(num == 1) {
return false;
}
for(int i=2; i <= Math.sqrt(num); i++) {
if(num%i==0) { // 나누어 떨어진다면 소수 x
return false;
}
}
return true;
}
}
❗ 결과
👉 테스트 통과
long 타입을 사용하여야 하는지 생각을 못하고 있다가 문제 내의 질문하기를 통해 알게되어 겨우 풀었던 문제 💦
앞으로는 더 꼼꼼하게 확인하고 문제 풀기!!
'Algorithm > Programmers' 카테고리의 다른 글
[Java] 연습문제 - 최댓값과 최솟값 (Lv2) (0) | 2022.08.02 |
---|---|
[Java] 2018 KAKAO BLIND RECUITMENT - [3차] n진수 게임 (Lv2) (0) | 2022.08.01 |
[Java] 프로그래머스 동적계획법(Dynamic Programming) Lv3 - 등굣길 (0) | 2022.04.18 |
[Java] 프로그래머스 해시 Lv1 - 폰켓몬 (0) | 2022.04.04 |
[Java] 2021 KAKAO BLIND RECRUIMENT- 신규 아이디 추천 (0) | 2022.03.28 |
Comments