[프로그래머스][MySQL] NULL 처리하기
·
데이터베이스/문제 풀이
http://school.programmers.co.kr/learn/courses/30/lessons/59410 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr select animal_type, ifnull(name, 'No name') as name, sex_upon_intakefrom animal_ins
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 섬 연결하기
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr크루스칼 알고리즘을 사용해 최소 신장 트리를 만든다.모든 다리를 비용 기준으로 오름차순 정렬한다.비용이 작은 다리부터 확인한다.두 섬의 대표가 다르면 사이클이 발생하지 않으므로 연결한다.해당 다리의 비용을 minCost에 더하고 두 집합을 합친다.Union-Findfind(): 섬이 속한 집합의 대표를 찾고 경로를 압축한다.union(): 서로 다른 두 집합을 하나로 합친다.p[x] 시간복잡도다리 정렬: O(E log E)Union-Find: 약 O(E)..
[프로그래머스][MySQL] 이름에 el이 들어가는 동물 찾기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/59047 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krselect animal_id, namefrom animal_inswhere animal_type = 'Dog' and name like '%el%'order by name asc, animal_id asc; LIKE 'el%'el로 시작el, ella, elementLIKE '%el'el로 끝남el, labelLIKE '%el%'el이 포함됨el, hello, ellaLIKE 'e%l'e로 시작하고 l로 끝남el, emailLIKE '%e%l%'e가 나..
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 구명보트
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사람들의 몸무게를 오름차순으로 정렬하고, 가장 가벼운 사람과 가장 무거운 사람을 비교한다.두 사람의 무게 합이 제한을 초과하면 가장 무거운 사람만 태운다.제한 이하라면 두 사람을 함께 태운다.구조한 사람의 수가 전체 인원과 같아질 때까지 반복한다.가장 무거운 사람이 가장 가벼운 사람과도 함께 탈 수 없다면 누구와도 함께 탈 수 없으므로 혼자 태워도 된다. ※ 마지막 한 명이 남으면 동일한 인덱스의 무게를 두 번 더하게 되지만, 보트 수는 정확히 한 번 ..
[프로그래머스][MySQL] 동명 동물 수 찾기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/59041 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr select name, count(*) as countfrom animal_inswhere name is not nullgroup by namehaving count(*) >= 2order by name asc
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 큰 수 만들기
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 큰 수는 앞자리 숫자가 클수록 유리하므로 StringBuilder를 스택처럼 사용한다.숫자를 왼쪽부터 확인→ 현재 숫자가 저장된 마지막 숫자보다 크면 마지막 숫자 삭제→ 삭제 횟수가 k가 되거나 더 이상 작은 숫자가 없을 때까지 반복→ 현재 숫자 추가 다음 숫자가 더 클 때만 삭제하므로오름차순인 경우는 삭제 횟수가 남을 수 있음 그래서 모든 숫자를 순회하고도 삭제 횟수가 남았다면 뒤에서부터 삭제를 해야함 각 숫자는 한 번 추가되고 최대 한 번 삭제..