본문 바로가기
  • Jetpack 알아보기

프로그래머스 - JAVA/Level 150

[JAVA] 프로그래머스 Lv.1 : 폰켓몬 🔥 찾아라 프로그래밍 마에스터 예제: nums result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 제한 조건: nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다. nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다. 폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다. 가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다. Solution #1 import java.util.*; class Solution { public int solution(int[] nums) { Set set = new HashSet(); for.. 2021. 5. 16.
[JAVA] 프로그래머스 Lv.1 : 약수의 개수와 덧셈 🔥 월간 코드 챌린지 시즌 2 예제: left right result 13 17 43 24 27 52 제한 조건: 1 ≤ left ≤ right ≤ 1,000 Solution #1 class Solution { public int solution(int left, int right) { int answer = 0; for(int i = left; i 2021. 5. 16.
[JAVA] 프로그래머스 Lv.1 : 음양 더하기 🔥 월간 코드 챌린지 시즌 2 예제: absolutes signs result [4,7,12] [true,false,true] 9 [1,2,3] [false,false,true] 0 제한 조건: absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. Solution #1 class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for(int i = 0; i < abs.. 2021. 5. 14.
[JAVA] 프로그래머스 Lv.1 : 실패율 🔥 2019 KAKAO BLIND RECRUITMENT 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. - 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 .. 2021. 4. 16.
[JAVA] 프로그래머스 Lv.1 : 키패드 누르기 🔥 2020 카카오 인턴십 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 .. 2021. 4. 7.
[JAVA] 프로그래머스 Lv.1 : 두 개 뽑아서 더하기 🔥 월간 코드 챌린지 시즌 1 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 예제: Input: numbers : [2, 1, 3, 4, 1] Output: [2,3,4,5,6,7] Input: numbers : [5,0,2,7] Output: [2,5,7,9,12] 제한 조건: numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. Solution #1 import java.util.HashSet; import java.util.Set; class Solution { public in.. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 모의고사 🔥 코딩 테스트 연습 > 완전 탐색 예제: answers return [1, 2, 3, 4, 5] [1] [1, 3, 2, 4, 2] [1, 2, 3] 제한 조건: 시험은 최대 10,000 문제로 구성되어있습니다. 문제의 정답은 1, 2, 3, 4, 5중 하나입니다. 가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해주세요. Solution #1 import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Solution { public int[] solution(int[] answers) { int[] one = new int[]{1, 2, 3, 4, 5}; int[] two = new .. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 체육복 🔥 코딩 테스트 연습 > 탐욕법 (Greedy) 예제: n lost reserve return 5 [2, 4] [1, 3, 5] 5 5 [2, 4] [3] 4 3 [3] [1] 2 제한 조건: 전체 학생의 수는 2명 이상 30명 이하입니다. 체육복을 도난당한 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다. 여벌의 체육복을 가져온 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다. 여벌 체육복이 있는 학생만 다른 학생에게 체육복을 빌려줄 수 있습니다. 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다. 이때 이 학생은 체육복을 하나만 도난당했다고 가정하며, 남은 체육복이 하나이기에 다른 학생에게는 체육복을 빌려줄 수 없습니다. Solution #1 class Solu.. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : 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"를 반환하세요. 예제: Input: a :5, b : 24 Output: "TUE" 제한 조건: 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) Solution #1 class Solution { public String solution(int a, int b).. 2021. 4. 4.
[JAVA] 프로그래머스 Lv.1 : K번째수 🔥 코딩 테스트 연습 > 정렬 (Sort) 예제: array commands return [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] 제한 조건: array의 길이는 1 이상 100 이하입니다. array의 각 원소는 1 이상 100 이하입니다. commands의 길이는 1 이상 50 이하입니다. commands의 각 원소는 길이가 3입니다. Solution #1 import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int index = 0 .. 2021. 4. 4.