목록해결 (11)
happy coding
문제 구름 햄버거는 다양한 재료를 사용하여 만들어서 맛있기로 유명하다. 구름 햄버거는 N개의 재료를 순서대로 쌓아서 만들고, 구름 햄버거의 맛은 사용된 모든 재료의 맛의 정도를 더한 값이다. 완벽한 구름 햄버거를 만들기 위해서는 맛의 정도가 가장 높은 재료를 기준으로 위랑 아래로 갈수록 재료의 맛의 정도가 감소하거나 같아야 한다. 플레이어는 N개의 재료를 순서대로 쌓아서 구름 햄버거를 하나 만들었다. i번째 쌓은 재료의 맛의 정도가 ki라고 할 때, 플레이어가 만든 구름 햄버거의 맛을 구해보자. 만약 플레이어가 완벽하지 않은 구름 햄버거를 만들었다면 0을 출력한다. 입력 첫째 줄에 구름 햄버거에 들어가는 재료의 개수 N개가 주어진다. 그 다음 줄에 플레이어가 햄버거를 만들 때 쓴 재료의 맛의 정도 k1,..
괄호 문제, 사실 프로그래밍언어론 과제에서 봤던 문제와 매우 유사했다. 조금 더 빨리 코테 준비를 했다면 조금 더 편하게 할 수 있지 않았을까. 그때 도움 줬던 친구들에게 고마움을 전하고 싶다 :) 일단 이 문제는, testCase라는 배열에 입력받은 괄호의 짝이 맞다면 YES, 아니라면 NO를 저장하도록 하는 문제이다. 이번에는 메소드를 하나 선언해서 해결해보았다. public static boolean isBalanced(String s) { Stack stack = new Stack(); for (char c : s.toCharArray()) { if (c == '(') { stack.push(c); } else if (c == ')') { if (stack.isEmpty() || stack.pop..
문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보..
SELECT CAR_ID, CASE WHEN ROUND(AVG(DATEDIFF(END_DATE, START_DATE)), 1) >= 7 THEN ROUND(AVG(DATEDIFF(END_DATE, START_DATE)), 1) ELSE 0 END AS AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID HAVING AVERAGE_DURATION != 0 ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC; 이따구로 짰는데 결과는 '틀렸습니다.'였다. 너무 복잡하게 한 것 같아서 다시 코딩 SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE)+1),1) AS..
정수형 배열을 자르는 방법은 배열의 일부분을 새로운 배열로 만드는 것을 의미하는데, 여기에는 2가지 방법이 있다. 1. 반복문을 통한 배열 복사 : public class ArraySlicingExample { public static void main(String[] args) { int[] originalArray = {1, 2, 3, 4, 5}; int startIndex = 1; int endIndex = 3; // endIndex는 자를 범위에 포함되지 않음 int newSize = endIndex - startIndex; int[] slicedArray = new int[newSize]; for (int i = startIndex, j = 0; i < endIndex; i++, j++) { s..
SELECT P.PRODUCT_CODE, SUM(O.SALES_AMOUNT * P.PRICE) AS SALES FROM PRODUCT P JOIN OFFLINE_SALE O ON P.PRODUCT_ID = O.PRODUCT_ID GROUP BY P.PRODUCT_CODE ORDER BY SALES DESC, P.PRODUCT_CODE ASC;
import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); System.out.println(gcd(a,b)); System.out.println(lc..
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT FROM ANIMAL_OUTS WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME)