[프로그래머스 Lv0] 안전지대 | 자바
·
📝 Coding Test/Programmers Lv0
문제안전지대풀이import java.util.*;class Solution { public int solution(int[][] board) { int answer = 0; // 폭탄의 위치 파악 하기 List bomb_location = new ArrayList(); for(int i = 0; i = 0 && ny >= 0 && nx if(nx >= 0 && ny >= 0 && nx ArrayIndexOutOfBoundsException : 정해진 배열의 크기보다 크거나 음수 index에 대한 요청이 있으면 ArrayIndexOutOfBoundsException이 발생합니다.
[프로그래머스] 잡은 물고기의 평균 길이 구하기 | MySQL
·
📝 Coding Test/SQL
문제잡은 물고기의 평균 길이 구하기풀이SELECT ROUND(AVG(IFNULL(LENGTH, 10)), 2) AVERAGE_LENGTHFROM FISH_INFO;오라클에서 NVL 대신 MySQL에서는 IFNULL을 사용할 수 있습니다.ROUND 함수를 이용해 n번째자리에서 반올림 할 수 있습니다.
[프로그래머스] 물고기 종류 별 대어 찾기 | MySQL
·
📝 Coding Test/SQL
문제물고기 종류 별 대어 찾기풀이SELECT FI.ID, FN.FISH_NAME, FI.LENGTHFROM FISH_INFO FI JOIN FISH_NAME_INFO FN ON FI.FISH_TYPE = FN.FISH_TYPEWHERE (FI.FISH_TYPE, FI.LENGTH) IN ( SELECT FISH_TYPE, MAX(LENGTH) FROM FISH_INFO GROUP BY FISH_TYPE)ORDER BY FI.ID;WHERE 조건에 FISH_TYPE까지 넣어줘야 정확하게 쿼리를 추출할 수 있습니다.
[프로그래머스] 보호소에서 중성화한 동물 | 오라클
·
📝 Coding Test/SQL
문제보호소에서 중성화한 동물풀이SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AI.NAMEFROM ANIMAL_INS AI JOIN ANIMAL_OUTS AOON AI.ANIMAL_ID = AO.ANIMAL_IDWHERE (AI.SEX_UPON_INTAKE LIKE 'Intact%') AND (AO.SEX_UPON_OUTCOME LIKE 'Spayed%' OR AO.SEX_UPON_OUTCOME LIKE 'Neutered%')ORDER BY 1;WHERE 조건을 다음과 같이 작성해도 됩니다.WHERE AI.SEX_UPON_INTAKE LIKE 'Intact%' AND AO.SEX_UPON_OUTCOME NOT LIKE 'Intact%'
[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 | 오라클
·
📝 Coding Test/SQL
문제오프라인/온라인 판매 데이터 통합하기풀이SELECT TO_CHAR(SALES_DATE, 'YYYY-MM-DD') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNTFROM ( SELECT SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE UNION SELECT SALES_DATE, PRODUCT_ID, NULL, SALES_AMOUNT FROM OFFLINE_SALE)WHERE TO_CHAR(SALES_DATE, 'YYYY-MM-DD') LIKE '2022-03%'ORDER BY 1, 2, 3;UNION을 사용하여 풀이했습니다.UNION은 중복된 데이터를 제거하고, UNION ALL..
[프로그래머스 Lv0] 숨어있는 숫자의 덧셈 (2) | 자바
·
📝 Coding Test/Programmers Lv0
문제숨어있는 숫자의 덧셈 (2)풀이class Solution { public int solution(String my_string) { int answer = 0; String[] strArr = my_string.replaceAll("[a-zA-Z]", " ").split(" "); for(String str : strArr) { if(!str.equals("")) answer += Integer.parseInt(str); } return answer; }}모든 알파벳을 제거해야하는데 replaceAll("[a-zA-Z]", " ")를 사용하여 모든 알파벳을 제거할 수 있습니다.
[프로그래머스 Lv3] 가장 먼 노드 | 자바
·
📝 Coding Test/Programmers Lv3
문제가장 먼 노드풀이import java.util.*;class Solution { public int solution(int n, int[][] edge) { int answer = 0; int[] visited = new int[n + 1]; ArrayList> graph = new ArrayList(); for(int i = 0; i ()); } for(int i = 0; i > graph, int[] visited, int start) { Queue q = new LinkedList(); q.offer(start); visited[start] = 1; ..
[프로그래머스] 취소되지 않은 진료 예약 조회하기 | 오라클
·
📝 Coding Test/SQL
문제취소되지 않은 진료 예약 조회하기풀이SELECT A.APNT_NO, P.PT_NAME, P.PT_NO, A.MCDP_CD, D.DR_NAME, A.APNT_YMDFROM APPOINTMENT A JOIN PATIENT P ON A.PT_NO = P.PT_NO JOIN DOCTOR D ON A.MCDP_CD = D.MCDP_CD AND A.MDDR_ID = D.DR_IDWHERE TO_CHAR(A.APNT_YMD, 'YYYYMMDD') = '20220413' AND A.MCDP_CD = 'CS' AND A.APNT_CNCL_YN = 'N'ORDER BY A.APNT_YMD;
[프로그래머스 Lv2] 올바른 괄호 | 자바
·
📝 Coding Test/Programmers Lv2
문제올바른 괄호풀이 1import java.util.*;class Solution { boolean solution(String s) { String[] strArr = s.split(""); Stack stack = new Stack(); for(int i = 0; i 정확성 테스트 케이스는 통과했지만, 효율성 테스트 케이스를 통과하는데 실패했습니다.이 문제의 조건 중 하나는 문자열이 최대 100,000이 될수 있다는 점이고, split을 사용하면 문자열 전체를 새로운 배열로 복사해야 하며, 추가적인 메모리 사용과 처리 시간이 발생합니다.풀이 2class Solution { boolean solution(String s) { String[] ..