전체 글102 [Lv.3 Oracle] 131123. 즐겨찾기가 가장 많은 식당 정보 출력하기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131123 풀이 조회해야할 컬럼 : 음식종류, ID, 식당이름, 즐겨찾기 수 테이블 : REST_INFO 조건 : 음식종류별로 즐겨찾기수가 가장 많은 식당 정렬 : 음식종류 내림차순 조건에서 사용할 음식종류별로 즐겨찾기수가 가장많은 식당을 적용하기 위해서, 먼저 음식종류를 그룹으로 묶고 그 결과 즐겨찾기가 가장 많도록 내림차순 정렬을 해서 그 중 가장 맨 위에 있는 ROW를 조회하면 된다. 이때 정렬을 하기위해 ORDER BY 절을 사용해야 하므로 ROWNUM보다는 ROW_NUMBER()를 사용하는 것이 편하다. ROW_NUMBER() OVER (PARTITION BY FOOD_TYPE ORDE.. 2023. 12. 11. [Oracle] 조회 순번 매기기 / ROWNUM, ROW_NUMBER() ++ 페이징을 구현할 때, ORACLE을 사용하면 ROWNUM을 사용한다. 조회 순번을 매기는 방법에는 두 가지가 있다. 1. ROWNUM 2. ROW_NUMBER() 1. ROWNUM - 조회된 순서대로 순번을 매긴다. - 또한, 쿼리로 반환되는 ROW의 갯수를 제한할 때도 사용 가능하다. (WHERE 절의 사용으로) 형식) SELECT ROWNUM, 컬럼명 FROM 테이블명 *주의할 점 1) 만약, ROWNUM을 사용할때 동시에 ORDER BY를 사용하려고 한다면, 주의해야한다. ORDER BY를 ROWNUM과 같은 위치에 사용한다면 ROWNUM이 적용된 다음에 정렬을 하기 때문에 순번이 뒤섞여버린다. 따라서 ORDER BY를 사용하고자 한다면 꼭 서브쿼리를 사용해서 정렬된 서브쿼리 결과에 ROWNU.. 2023. 12. 11. [Lv.0 - Java] 120844. 배열 회전시키기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120844 풀이 회전이라고는 했지만 결국 direction이 "right"이면 오른쪽으로 한칸 이동, "left"이면 왼쪽으로 한칸 이동인 셈이다. 1) if 조건문을 사용해서 right인지 left인지 조건을 주었다. (내용이 일치하는지 확인하는 것이기 때문에 ==이 아니라 equals() 메소드를 사용했다.) 2) direction 이 right 일때는 먼저 for문을 이용해서 답을 넣어줄 배열인 answer에 numbers[i+1] 의 값들을 차곡차곡 넣어주었다. 그러면 answer의 마지막 자리가 남게되는데 이 부분을 비워두게되면 오류가 난다. 정적 배열이라. 그래서 꼭 마지막 배열은 f.. 2023. 12. 11. [Lv.0 - Java] 120850. 문자열 정렬하기 (1) 문제 풀이 두 가지 방법을 생각했다. 1) int[] 배열을 그대로 사용하는 방법. 2) List 배열로 바꾼 후 사용하는 방법. List배열을 이용하면 더 간단할 것 같았으나 문제에서는 int[] 배열을 주었기에 얘로 처음에 코드를 만들어 보았다. 1) int[] 배열을 그대로 사용하는 방법. 먼저 my_string의 숫자만 골라 넣은 int[] 배열을 생성해주려고보니 my_string 안의 숫자가 몇개가 있는지를 모르니까 answer의 길이를 모르니 answer 배열을 만들수가 없었다. 그래서 먼저 answer의 길이를 알기위해 count 변수를 초기화선언하고, for문과 toCharArray(), Character.isDigit()을 사용하여 my_string 문자열 안의 각각의 문자가 숫자라면 c.. 2023. 12. 9. 이전 1 2 3 4 5 6 7 8 ··· 26 다음