728x90
반응형
SMALL

프로그래머스 11

[프로그래머스] 제일 작은 수 제거하기 Lv.1

문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 설명 아래와 같은 순서대로 문제를 해결하면 쉽게 풀 수 있습니다! 1. 가장 작은 숫자 추출 2. 가장 작은 숫자를 제외한 ArrayList 생성 3. ArrayList 를 배열로 변환 정답 import java.util.*; class Solution { public int[] s..

코딩 테스트 2024.04.05

[프로그래머스] 포켓몬 Lv1

문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..

코딩 테스트 2024.03.14

[프로그래머스] 개인정보 수집 유효기간 Lv1

문제 설명 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다. 당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다. 모든 달은 28일까지 있다고 가정합니다. 다음은 오늘 날짜가 2022.05.19일 ..

코딩 테스트 2024.03.06

[프로그래머스] 완주하지 못한 선수 Lv1

문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 풀이 먼저 문제를 처음 봤을 때 for 문을 돌려서 수행해야겠다 생각을 했고, 최소한 ..

코딩 테스트 2024.03.05

프로그래머스) 달리기 경주 Lv1

맨 처음 순서를 정해준 뒤 호출하는 이름이 앞 순번에 달리는 선수와 순번이 바뀌는 문제! hashMap 으로 문제를 풀어보았는데 계속 3번째에서 순번이 바뀌지 않는 현상이 있었다.... 확인해보니 key value 값으로 저장한 부분에서 value 값에 따라 순번을 체크했었는데, 자리값으로 순번을 매기고 있어서 내가 원하는 대로 순번이 바뀌지 않았다... (오답 소스) import java.util.*; class Solution { public String[] solution(String[] players, String[] callings) { String[] answer = new String[players.length]; Map map = new HashMap(); // map 에 데이터 현재 플레..

코딩 테스트 2024.02.12

프로그래머스) [PCCE 기출문제] 10번 / 데이터 분석 Lv1

Lv1 이지만 아닌 것 같은 문제.... 코드번호, 제조일, 최대수량, 현재 수량으로 구성되어있는 데이터 중 필요한 데이터를 뽑아서 정렬하는 문제입니다. 각각 데이터를 순서에 맞게끔 데이터를 뽑고, 조건에 맞을 경우 아래 int 배열 리스트에 데이터를 쌓았다. List list = new ArrayList(); 그 뒤에 list 배열을 2차원 배열로 풀어서 answer에 값을 넣은 뒤 실행했는데 테스트 코드 성공!! 그런데 소스코드가 너무 더럽다 람다식을 코테문제를 풀 때 처음 적용시켜봤는데 final 를 사용해야된다고 해서 변수를 또 바꿔주고 순차적으로 단계를 나눠서 처리를 해나가는데 리스트 int 배열을 선언해서 사용하는것도 맘에 안든다.... 끼워맞추기로 정답은 맞췄지만 조금 찝찝한 상황 다른사람의..

코딩 테스트 2024.02.11

프로그래머스) 올바른 괄호 Lv2

이번에도 래벨 2 도전! 문자열 s 에 랜덤의 (, ) 괄호가 주어지고 괄호를 바르게 짝지었을 때 true, 아닐 경우 false 를 리턴하는 문제이다. 처음 문제를 풀 때 () 코드가 있을 경우 "" 으로 변경을 하는 코드를 작성했다! 돌려보니 문제는 모두 맞는데 효율성의 문제가 발생했다... class Solution { boolean solution(String s) { boolean answer = true; int cur = 0; while(s.length() >= 0){ int fur = s.length(); s = s.replaceAll("\\(\\)",""); if(s.length() == 0){ break; } if(cur == fur){ break; } cur = fur; } retur..

코딩 테스트 2024.02.08

프로그래머스) 예산 Lv1

각각 부서마다 필요한 물품을 예산 안에서 최대한 많이 뿌리는 코딩문제! 부서별로 신청한 금액을 배열로 정렬한 뒤 예산보다 초과 시 break 만 걸어주면 해결되는 문제! 쉽게 푼 문제라 뭔가 기분이 좋았다 ㅎㅎ 정답 import java.util.*; class Solution { public int solution(int[] d, int budget) { int answer = 0; int cur = 0; Arrays.sort(d); // cur : 모두 더한 값 // answer : 모두 더한 횟수 for(int i=0; i budget) break; else answer++; } return answer; } } 출처 프로그래머스 - https://school.programmers.co.kr/lea..

코딩 테스트 2024.02.07

프로그래머스) 약수의 개수와 덧셈 Lv1

요즘 코테 자신감이 떨어져서 자신감회복용으로 쉬운 문제들을 풀어나가고 있다(효과가 있을지도?!) 약수의 개수에 따라 해당 숫자를 더할지 뺄지를 결정하는 문제인데 나는 약수의 갯수를 구하는 메서드를 새로 하나 추가해서 boolean 값을 받아올 수 있게끔 만들었다! 정답 class Solution { public int solution(int left, int right) { int answer = 0; for(int i=left; i

코딩 테스트 2024.02.06

프로그래머스) 두 개 뽑아서 더하기 Lv1

손풀기 문제로 쉬워보이는 문제를 뽑아서 풀었는데 ArrayList 중복 제거 방법을 만들어보려고 하다가 살짝 헤맸다... 이 문제는 각각 순서대로 ① 더한 값들을 모두 ArrayList에 저장 ② ArrayList 중복 제거 ③ ArrayList 값 배열에 넣기 ④ 배열 정렬 위 방식대로 문제를 해결했다 되게 정석적이고 쉬운 방식이긴한데 소스가 길어져서 다른 훌륭한 답변이 있나 다른 분들 답을 구경했는데 세상에.... 리턴 타입을 바꿔도 정답으로 처리가 된다 흠.... 그렇다면 내꺼 소스도 굳이 ArrayList를 배열로 변환하지 않아도 됬었겠다 생각이 들었다 ㅎㅎ 코테 문제는 문제를 풀고 다른 사람들은 어떻게 문제를 풀었는지 구경하는게 재밌는거같다! 정답 import java.util.*; import..

코딩 테스트 2024.02.06
728x90
반응형
LIST