본문 바로가기

코딩테스트/자바 Level 176

[Java] 핸드폰 번호 가리기 문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한사항 phone_number 는 길이 4 이상, 20이하인 문자열입니다. class Solution { public String solution(String phone_number) { StringBuilder answer = new StringBuilder(); String hidden = "*"; int phoneLen = phone_number.length(); answer.append(hidden.repeat(phon.. 2023. 8. 2.
[Java] 하샤드 수 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한사항 x는 1이상, 10000 이하인 정수입니다. class Solution { public boolean solution(int x) { int sumX = 0, div = x; while (x / 10 != 0) { sumX += x % 10; x /= 10; } sumX += x % 10; return (div % sumX == 0) ? true : false; } } 출처 https://school.programme.. 2023. 8. 2.
[Java] 평균 구하기 문제 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. import java.util.Arrays; class Solution { public double solution(int[] arr) { double answer = 0; for(int num : arr) { answer += num; } return answer / arr.length; // return Arrays.stream(arr).average().getAsDouble(); } } 위 코드 혹은 주석처리된 부분 한 줄로 해결할 수 있다. 출처 https://schoo.. 2023. 8. 2.
[Java] 콜라츠 추측 문제 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 입력된 수가 짝수라면 2로 나눕니다. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한사항 입력된 수, num 은 1 이상 8.. 2023. 8. 2.