반응형

programmers 10

[JAVA] 나누어 떨어지는 숫자 배열

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. [제한사항] arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. [입출력 예] arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 코드 처음에는 if(divisor == 1){ Arrays.sort(arr); return ..

[JAVA] 2016년

문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. [제한 조건] 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) [입출력 예] a b result 5 24 "TUE" 코드 import java.time.DayOfWeek; import java.time.LocalDate; class S..

[JAVA] 행렬의 덧셈

문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. [제한 조건] 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. [입출력 예] arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] 코드 class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = {}; int i , j =0; answer = new int[ar..

[JAVA] 문자열 다루기 기본

문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. [제한 사항] s는 길이 1 이상, 길이 8 이하인 문자열입니다. [입출력 예] s return "a234" false "1234" true 코드 public boolean solution(String s) { boolean answer = s.matches(".*[^0-9].*"); answer = answer == true ? false : true; if(s.length()!=4 && s.length()!=6){ answer = false; } return answer; } 정규식 이용..

[JAVA] 정수 내림차순으로 배치하기

문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. [제한 조건] n은 1이상 8000000000 이하인 자연수입니다. [입출력 예] n return 118372 873211 코드 import java.util.Arrays; import java.util.Collections; public static long solution(long n) { String[] str = String.valueOf(n).split(""); Long[] number = new Long[str.length]; for (int i = 0; i < str.length; i++)..

[JAVA] 정수 제곱근 판별

문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 코드 import java.text.DecimalFormat; class Solution { public long solution(long n) { long answer = 0; String result = new DecimalFormat("#.##").format(Math.sqrt(n)); boolean ox = result.matches("-?\..

[JAVA] 핸드폰 번호 가리기

문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. [제한 조건] phone_number는 길이 4 이상, 20이하인 문자열입니다. [입출력 예] phone_number return "01033334444" "*******4444" "027778888" "*****8888" 코드 class Solution { public String solution(String phone_number) { String answer = ""; for (int i = 0; i < phone_n..

[JAVA] 이상한 문자 만들기

문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. [제한 사항] 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" 입출력 예 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바..

[JAVA] 자릿수 더하기

[문제 설명] 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. [제한사항] N의 범위 : 100,000,000 이하의 자연수 [입출력 예] N answer 1236 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. 코드 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; String num = String.valueOf(n); String[] array = ..

[JAVA] 평균 구하기

[문제 설명] 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. [제한사항] arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. [입출력 예] arr return [1,2,3,4] 2.5 [5,5] 5 [내 풀이 코드] class Solution { public double solution(int[] arr) { int total = 0; for (int i = 0; i < arr.length; i++) { int sum = arr[i]; total = total+sum; } double answer= (double)total/arr.length; return answer; } }

반응형