본문 바로가기

Coding Test/프로그래머스

(138)
[프로그래머스/자바] 숫자의 표현 class Solution { public int solution(int n) { int[] sum = new int[n + 1]; for (int i = 1; i n) { start++; i = start; } } return count; } } * 효율성 테스트 실패 코드 class Solution { public int solut..
[프로그래머스/자바] 이진 변환 반복하기 class Solution { public int[] solution(String s) { if (s.equals("1")) return new int[]{0, 0}; int count = 0; int zero = 0; while (true) { count++; int tmp = s.length(); s = s.replaceAll("0", ""); tmp -= s.length(); zero += tmp; s = Integer.toString(s.length(), 2); if (s.equals("1")) return new int[]{count, zero}; } } }
[프로그래머스/자바] 올바른 괄호 import java.util.Stack; class Solution { boolean solution(String s) { if (s.startsWith(")")) return false; if (s.endsWith("(")) return false; Stack stack = new Stack(); char[] arr = s.toCharArray(); for (char c : arr) { if (c == '(') stack.push(c); else if (c == ')' && stack.size() > 0) stack.pop(); else return false; } return stack.size() == 0; } } '...())...' 와 같은 상황을 잡기 위해, stack의 사이즈가 0일 때 p..
[프로그래머스/MySQL] 입양 시각 구하기(1) SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS 'COUNT' FROM ANIMAL_OUTS GROUP BY HOUR(DATETIME) HAVING HOUR >= 9 AND HOUR < 20 ORDER BY HOUR;
[프로그래머스/MySQL] 조건에 부합하는 중고거래 댓글 조회하기 SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, DATE_FORMAT(R.CREATED_DATE, "%Y-%m-%d") AS CREATED_DATE FROM USED_GOODS_REPLY AS R INNER JOIN USED_GOODS_BOARD AS B ON R.BOARD_ID = B.BOARD_ID WHERE B.CREATED_DATE LIKE '2022-10%' ORDER BY R.CREATED_DATE, B.TITLE;
[프로그래머스/MySQL] 자동차 대여 기록에서 장기/단기 대여 구분하기 SELECT C.HISTORY_ID, C.CAR_ID, DATE_FORMAT(C.START_DATE, "%Y-%m-%d") AS START_DATE, DATE_FORMAT(C.END_DATE, "%Y-%m-%d") AS END_DATE, IF(DATEDIFF(END_DATE, START_DATE) + 1 >= 30, '장기 대여', '단기 대여') AS RENT_TYPE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS C WHERE START_DATE LIKE '2022-09%' ORDER BY C.HISTORY_ID DESC; IF문 대신 CASE문을 사용해도 된다.
[프로그래머스/MySQL] 과일로 만든 아이스크림 고르기 SELECT F.FLAVOR FROM FIRST_HALF AS F INNER JOIN ICECREAM_INFO I ON F.FLAVOR = I.FLAVOR WHERE I.INGREDIENT_TYPE = 'fruit_based' AND F.TOTAL_ORDER > 3000 ORDER BY F.TOTAL_ORDER DESC;
[프로그래머스/자바] 로그인 성공? class Solution { public String solution(String[] id_pw, String[][] db) { for (int i = 0; i < db.length; i++) { if (db[i][0].equals(id_pw[0])) { if (db[i][1].equals(id_pw[1])) return "login"; else return "wrong pw"; } } return "fail"; } }