[프로그래머스][MySQL] 특정 형질을 가지는 대장균 찾기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr형질은 각 비트로 표현된다.1번 형질: 1 → 00012번 형질: 2 → 00103번 형질: 4 → 0100& 연산은 두 값에서 같은 위치의 비트가 모두 1일 때만 해당 비트를 남긴다. -> 0001 & 0001 = 0001 , 0001 & 1110 = 0000따라서 (genotype & 2) = 2이면 2번 형질을 가진 것이고, (genotype & 2) != 2이면 2번 형질이 없는 것이다.같은 방식으로 genotype & 1은 1번 형질, geno..
[프로그래머스 알고리즘 고득점 Kit][완전탐색][Java] 피로도
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr DFS와 백트래킹으로 가능한 모든 던전 탐험 순서를 확인한다.visited 배열로 방문 여부를 관리하고최소 피로도 조건을 만족하는가, 남은 피로도가 소모할 피로도보다 많은 가를 체크하고 탐험을 진행한다. 호출이 끝나면 방문 상태를 되돌린다.각 단계에서 탐험한 던전 수의 최댓값을 갱신한다.class Solution { int k; int[][] dungeons; int dungeonCount; boolean[] visited; ..
[프로그래머스][MySQL] 조건에 부합하는 중고거래 댓글 조회하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr게시글 테이블 USED_GOODS_BOARD와 댓글 테이블 USED_GOODS_REPLY를 board_id 기준으로 INNER JOIN했다.문제에서 2022년 10월에 작성된 게시글의 댓글을 조회해야 하므로, 게시글 작성일 b.created_date에서 yyyy-mm 부분만 잘라 "2022-10"과 비교했다.댓글 작성일은 날짜까지만 출력해야 하므로 substr(r.created_date, 1, 10)을 사용해 yyyy-mm-dd 형태로 잘라 출력했다.마..
[프로그래머스 알고리즘 고득점 Kit][완전탐색][Java] 카펫
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kryellow의 약수 쌍을 이용해 노란색 영역의 가로, 세로를 구했다.노란색 영역을 w * h라고 하면 갈색 테두리 개수는 (w + 2) * 2 + h * 2로 계산할 수 있다.이 값이 brown과 같다면 전체 카펫의 크기는 {w + 2, h + 2}가 된다. 정답 코드import java.util.*;class Solution { public int[] solution(int brown, int yellow) { List innerSq..
[프로그래머스][MySQL] 가장 큰 물고기 10마리 구하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/298517 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스가장 큰 물고기 10마리 구하기 풀이물고기의 ID와 LENGTH를 조회한다.가장 큰 물고기부터 구해야 하므로 LENGTH를 기준으로 내림차순 정렬한다.길이가 같은 경우에는 문제 조건에 따라 ID를 기준으로 오름차순 정렬한다.마지막으로 LIMIT 10을 사용해 정렬된 결과 중 상위 10개만 조회한다. 정답 코드select id, lengthfrom fish_infoorder by length desc, id asclimit 10;
[프로그래머스 알고리즘 고득점 Kit][완전탐색][Java] 소수 찾기
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 소수 찾기 풀이이 문제는 주어진 숫자 문자열로 만들 수 있는 모든 숫자 중 소수의 개수를 구하는 문제다.각 숫자 조각을 한 번씩만 사용할 수 있으므로 visited 배열을 사용해 이미 사용한 숫자인지 체크했다.DFS/백트래킹으로 숫자를 하나씩 붙이며 만들 수 있는 모든 순열을 생성했다.예를 들어 "17"이라면 1, 7, 17, 71을 만들 수 있다.중복 숫자가 생길 수 있기 때문에 생성한 숫자는 Set에 저장했다.예를..