코딩테스트 89

백준 1008번 A/B (JAVA)

📌문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.    📌답import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int A = scanner.nextInt(); int B = scanner.nextInt(); System.out.println((double)A/B); }}    📢1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하..

백준 문제푸는 방법 / 백준 1000번 A+B (JAVA)

📌백준 문제푸는 방법   백준 문제를 처음 접한 사람들 중 아마 컴파일 에러를 경험하며 어려움을 겪는 사람들이 있을 것이다. 백준은 프로그래머스와 달리 class명이나 라이브러리/클래스 import 구문을 직접 입력해야 하기 때문인데, 이러한 이유로백준 문제를 풀 때는 가급적 Eclipse나 IntelliJ같은 IDE 툴을 이용하는 것을 추천한다.  기본문제를 하나 풀어보면서 백준 문제는 어떤 식으로 답을 작성해야 하는지 알아보자.   📌예제로 알아보기 (백준 1000번 A+B)  아래는 JAVA로 푸는 방법이지만, 모든 언어가 동일하게 각 언어에서의 문법 규칙만 지켜서 제출하면 된다.   문제) 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.  두 수를 입력받으므로 Sc..

프로그래머스 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); 서브쿼리를 이용하여 출력