반응형
SMALL

분류 전체보기 205

[프로그래머스/java] 하샤드 수 (숫자 자릿수 각각 더하기)

https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 첫번째 방법 일의자리수 구하는 방식 import java.util.*; class Solution { public boolean solution(int x) { boolean answer = true; int sum = 0; int temp = x; while(temp >= 1) { // 자릿수 줄여가다가 음수되면 끝 sum += te..

JAVA/Algorithm 2020.12.11

[프로그래머스/java] 콜라츠 추측 (+ 오답 이유 (feat.자료형범위))

https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 간단하다고 생각하고 코드 작성 후 코드를 실행해보니 500번 이상 케이스에서 틀린 답이 나왔다. 이유를 모르겠어서 검색해본 결과 오답의 뚜렷한 원인이 있었다. int 가 아닌 long! 처음에는 num 값을 주어진 그대로 int로 사용했다. 그러나 문제에서 주어진 제한사항에 따라 입력된 수 num 은 1 이상 8000000 미만인 ..

JAVA/Algorithm 2020.12.10

[프로그래머스/java] 키패드 누르기 (2020 카카오 인턴십)

https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 키패드의 *과 #은 편의를 위해 순서대로 10, 12로 지정 가운데 키까지의 거리가 가까운 걸로 채택 좌표간 거리 구하기 |x1 - x2| + |y1 - y2| 절대값 구하는 함수 Math.abs() class Solution { public Strin..

JAVA/Algorithm 2020.12.02

[프로그래머스/java] 제일 작은 수 제거하기

https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 최소값 찾는 알고리즘 class Solution { public int[] solution(int[] arr) { int size = arr.length; int[] answer = new int[size-1]; if(size == 1) { arr[0] = -1; return arr; } else { int min..

JAVA/Algorithm 2020.12.02

[프로그래머스/java] 정수 제곱근 판별

https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr 제곱한 수가 1로 나누어 떨어진다는건 제곱근이라 자연수로 딱 떨어졌다는 의미이므로 제곱근 판별하는 방법으로 사용 Math.sqrt(n) % 1 == 0 import java.util.*; class Solution { public long solution(long n) { long answer = 0; if(Math.sqrt(n) ..

JAVA/Algorithm 2020.12.02

[프로그래머스/java] 정수 내림차순으로 배치하기

https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 숫자 배열의 숫자들을 StringBuilder를 이용하여 문자열로 하나씩 붙이기 sb.append(numbers[i]) 문자열을 long형으로 변환 Long.parseLong(sb.toString()) import java.util.*; class Solution { public long solution(long ..

JAVA/Algorithm 2020.12.02

[프로그래머스/java] 자연수 뒤집어 배열로 만들기

https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr string + int 이면 string으로 인식한다! 숫자를 string 취급하기 위한 방법 중 하나 String str = "" + n; 숫자의 마지막 숫자부터 하나씩 구하는 방법 일의자리를 구하는 방법 이용 class Solution { public int[] solution(lon..

JAVA/Algorithm 2020.12.02

[프로그래머스/java] 자릿수 더하기

https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 한마디로 일의 자리수를 계속 구해서 더해나가는 것 먼저 숫자를 10으로 나누면 나머지가 일의자리 그 다음 10으로 나눈 몫은 위의 일의자리를 제외하고 한 자리수 하강 또 일의자리 구해서 더하고 몫 구하고 public class Solution { public int solution(int..

JAVA/Algorithm 2020.12.02

[프로그래머스/java] 이상한 문자 만들기

https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr StringBuilder를 사용하지 않아도 가능 공백 만나면 인덱스를 0으로 설정 class Solution { public String solution(String s) { StringBuilder sb = new StringBuilder(); int index = 0; for(int i = 0; i < s.length(); i++) { if(s...

JAVA/Algorithm 2020.12.02

[ 프로그래머스/java] 약수의 합 (error)

https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 발생했던 오류 0을 나눌 수 없지.. n 자체를 나누는거니까 1부터 n까지로 범위 지정 바보같은 실수.. 더보기 Exception in thread "main" java.lang.ArithmeticException: / by zero at Solution.solution(Unknown Source) at So..

JAVA/Algorithm 2020.12.02
1 2 3 4 5 6 7 8 ··· 21
반응형
SMALL
반응형
LIST