본문 바로가기
반응형

코딩테스트/프로그래머스30

[프로그래머스] 최솟값 만들기 - Java 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21.. 2021. 5. 3.
[프로그래머스] 3진법 뒤집기 - Java 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 문제 풀이 import java.lang.StringBuffer; class Solution { public int solution(int n) { int answer = 0; // 3진법 String result = ""; while(n > 0) { result = (n % 3) + result; n /= 3; } // 뒤집기 StringBuffer sb = new StringBuffer(result); result = sb.reverse().toString(); // 10진법 answer = Integer.parseInt(r.. 2021. 4. 21.
[프로그래머스] 2016년 - Java 문제 설명 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"를 반환하세요. 문제 풀이 class Solution { public String solution(int a, int b) { String answer = ""; String[] day = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; int[] month = {31, 29, 31, 30, .. 2021. 4. 19.
[프로그래머스] 정수 제곱근 판별 - Java 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 문제 풀이 class Solution { public long solution(long n) { long answer = -1; for(long i = 1; i 2021. 4. 16.
728x90
반응형