프로그래머스
-
프로그래머스 - 자릿수 더하기 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 22:18
문제 링크 : 자릿수 더하기 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 정답 형변환으로 풀고 싶을 때 public class Solution { public int solution(int n) { int answer = 0; String[] arr =String.valueOf(n).split(""); for(String str : arr){ answer += Integer.valueOf(str); } return answer; }..
-
프로그래머스 - 최소직사각형 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 02:59
문제 링크 : 최소직사각형 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 정답 import java.util.*; class Solution { public int solution(int[][] sizes) { /* 적절히 돌려서 겹친다고 생각하고 위에서 내려다 보았을 때 면적을 구하면 된다. */ //가로에 긴쪽으로 정렬하고 가장 큰 수들을 곱해주면 면적이 나온다. for(int[] size : sizes){ Arrays.sort(size); } int maxW = 0; int maxH = 0; for(int..
-
프로그래머스 - 2016년 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 02:09
문제 링크 : 2016년 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 정답 import java.util.*; class Solution { public String solution(int a, int b) { /* a월 b일 무슨 요일 answer = 요일 윤년 2월 29일까지 있음 31 : 1,3,5,7,8,10,12 이외 : 2,4,6,9,11 key : value */ String[] days = {"SUN", "MON", "TUE", "WED", "THU",..
-
프로그래머스 - 두 개 뽑아서 더하기 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 02:03
문제 링크 : 두 개 뽑아서 더하기 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 정답 import java.util.*; import java.util.stream.*; class Solution { public int[] solution(int[] numbers) { Set hs = new HashSet(); for(int i=0; i
-
프로그래머스 - 예산 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 02:00
문제 링크 : 예산 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 정답 import java.util.*; class Solution { public int solution(int[] d, int budget) { int answer = 0; /* 최대한 많은 부서의 물품을 구매 신청한 금액 모두 지원 최대 몇개의 부서에 물품을 지원할 수 있는지 return */ Arrays.sort(d); for(int num : d){ budget -= num; if(budget >=0 ){ answer++; } } ret..
-
프로그래머스 - 3진법 뒤집기 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 01:52
문제 링크 : 3진법 뒤집기 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 정답 import java.util.*; class Solution { public int solution(int n) { int answer = 0; List list = new ArrayList(); //처음부터 뒤집어 짐 while(n != 0){ list.add(n % 3); n = n / 3; } int multi = 1; for(int i=list.size() - 1; i>=0..
-
프로그래머스 - 약수의 개수와 덧셈 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 01:47
문제 링크 : 약수의 개수와 덧셈 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 정답 import java.util.*; class Solution { public int solution(int left, int right) { int answer = 0; /* left 부터 right 까지 약수의 개수가 짝수 + : true 약수의 개수 홀수 - : false */ for(int i=left; i
-
프로그래머스 - 실패율 [자바]Algorithms/- 프로그래머스 2022. 1. 31. 01:41
문제 링크 : 실패율 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 정답 import java.util.*; class Solution { public int[] solution(int N, int[] stages) { /* 실패율 = 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지 수 N 멈춰 있는 stages 총 플레이어수 stages.length 모두 클리어한 유저가 있어서 N+1이 됨 실패율 높은 스테이지부터 내림차순 return */ int ..