프로그래머스 10

프로그래머스 JAVA Lv.0. 분수의 덧셈

📌문제첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.   ​  📌답  idea) 기약분수를 생각하지 말고 일단 분모를 서로 곱해서 계산한 뒤 결과값의 분자, 분모(numer3, denom3)의 최대공약수로 분자 분모를 나눠준다.  class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { int[] answer = new int[2]; in..

프로그래머스 JAVA Lv.0 짝수 홀수 개수

📌문제 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.        📌답 방법1)class Solution { public int[] solution(int[] num_list) { int k = num_list.length; //k=1000 int m = num_list.length/2; //m=500 int odd =0; int even=0; int[] answer = new int[2]; //i : num_list의 index for(int i=0; i  방법2)class Soluti..

프로그래머스 Oracle Lv2. 중성화 여부 파악하기

📌문제 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.  📌답SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' OR SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O' ELSE 'X' END AS 중성화 FROM ANIMAL_INS ORDER BY ANIMAL_ID;  📌..

프로그래머스 JAVA Lv.0 배열 뒤집기

📌문제 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 📌정답class Solution { public int[] solution(int[] num_list) { int k=num_list.length; int[] room = new int[k]; for (int i=0; i📌코멘트 오답이유:int[] 이름 = {}; 처럼 배열의 길이를 설정해 주지 않으면 배열에 값을 넣을 수 없다.int[] 이름 = new int[k]위와 같이 배열의 길이를 정의해줘야한다.또 배열에 저장된 데이터 값을 출력할 때 System.out.println(room); 처럼 입력..

프로그래머스 JAVA Lv.0 양꼬치

📌문제머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.  📌정답class Solution { public double solution(double n, int k) { double answer = 0; answer = 12000*n+2000*k-2000*Math.floor(n*0.1); return answer; }}   class Solution { public int solution(int n, int k) ..

프로그래머스 JAVA Lv.0 두 수의 나눗셈

📌문제정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 solution 함수를 완성해주세요. 제한사항0 0 📌정답Class Solution { public int solution(int num1, int num2) { double answer = 0; answer = (double) num1/num2*1000; return (int) answer; }} 📌코멘트잊지말자 형변환.. 📢1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하게 받습니다.3. 이 글의 내용은 계속 공부함으로..

프로그래머스 Oracle Lv1. 자동차 대여 기록에서 장기/단기 대여 구분하기

📌문제 📌정답SELECT HISTORY_ID, CAR_ID, TO_CHAR(START_DATE,'YYYY-MM-DD') AS START_DATE, TO_CHAR(END_DATE,'YYYY-MM-DD') AS END_DATE, CASE WHEN TO_NUMBER(END_DATE-START_DATE)>=29 THEN '장기 대여' ELSE '단기 대여' END AS RENT_TYPE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE TO_CHAR(START_DATE,'YYYY-MM') = ('2022-09') ORDER BY HISTORY_ID DESC; 📌해설오답의 이유: 대여기간에 대한 수식을 잘못 설정. 대..

프로그래머스 Oracle Lv.2 중복 제거하기

📌문제 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. 📌정답 서브쿼리 이용SELECT COUNT(A.NAME) FROM (SELECT NAME FROM ANIMAL_INS GROUP BY NAME) A ; ​   2. DISTINCT 이용SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME IS NOT NULL;​​#잊지말자 DISTINCT.....

프로그래머스 ORACLE Lv.1 조건에 부합하는 중고거래 댓글 조회하기

📌문제USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요   📌정답SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, TO_CHAR(R.CREATED_DATE,'YYYY-MM-DD') AS CREATE_DATE FROM USED_GOODS_BOARD B , USED_GOODS_REPLY R WHERE B.BOARD_ID=R.BOARD..

프로그래머스 ORACLE Lv.1 상위 n개 레코드

📌문제  📌오답SELECT NAME FROM ANIMAL_INS WHERE TO_NUMBER(TO_CHAR(DATETIME,'YYYYMMDDHHMISS')) 오답이유) DATETIME 데이터가 숫자처럼 대소 비교가 가능한지 몰랐음. 생각해보니 문자열끼리도 비교가 되는데 DATETIME도 당연히 될 것.. 정답은 나왔는데 코드가 지저분해서 오답처리 받은 것 같다. ​📌정답SELECT NAME FROM ANIMAL_INS WHERE DATETIME = (SELECT MIN(DATETIME) FROM ANIMAL_INS); 서브쿼리를 이용하여 출력