전체 글 280

[오라클] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (문자열연결, ROWNUM)

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법해결해야 하는 문제1. SELECT 부분에서 문자열을 연결하기2. 제일 조회수가 많은 게시글 찾기 문자열 연결하기select 절에서 ||를 사용해 문자열을 연결할 수 있다.'/home/grep/src/' || F.BOARD_ID || '/' || F.FILE_ID || F.FILE_NAME || F.FILE_EXT제일 조회수가 많은 게시글 찾기가장 조회수가 많은 게시글 ID를 찾아야..

SQL 2024.09.21

[오라클] 조건에 부합하는 중고거래 상태 조회하기

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법특정 날짜의 거래기록을 조회하고 별칭을 사용해서 출력하는 문제이다.데이터타입을 다루기 위해 TO_DATE함수를 사용했다.그 후 데이터를 특정 스트링형태로 변환 후 비교하기 위해 TO_CHAR함수로 변형 후 비교 했다.판매 중, 예약 중, 거래완료를 변칭으로 사용하기 위해 CASE WHEN 문법을 사용해 STATUS를 바꾸어 주었다. SELECT BOARD_ID, WRITER_ID, ..

SQL 2024.09.21

[프로그래머스] H-Index (c++) 정렬

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/42747# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법H-Index는 특정 과학자가 발표한 논문 중, h번 이상 인용된 논문이 h 편 이상이고, 나머지 논문들은 h번 이하로 인용된 경우, 이 h의 최댓값을 의미한다. H-Index의 중요한 핵심은 ‘인용 횟수’보다는 ‘인용된 논문의 수’에 중점을 둔다는 점이다. 논문을 정렬 후 인덱스와 비교하면 된다.예를 들어, [1, 5, 5, 5, 5]의 정답은 4이다. 그러므로 인덱스를 하나씩 올..

Algorithm 2024.09.20

[백준] 빗물 14719번 (c++) 구현

출처 : https://www.acmicpc.net/problem/14719풀이 방법x좌표를 기준으로 현재 지역은 왼쪽에서 가장 큰 값과 오른쪽에서 가장 큰 값 중 작은 값에서 자신의 블록 높이를 뺀 만큼 물이 차오르게 된다.그러므로 각각의 왼 쪽 최댓값과 오른쪽 최댓값을 구해 자신의 블록 길이만큼 빼주면 된다. #include #include #include using namespace std;int main() { vector block; int H, W; cin >> H >> W; int answer = 0; for (int i = 0; i > a; block.push_back(a); } for (int i =1;i = 0; k..

Algorithm 2024.09.20

[백준] 카드 정리 1 1101번 (c++) 구현

출처 : https://www.acmicpc.net/problem/1101 풀이 방법 문제에서 핵심 포인트는 한 상자에서 다른 상자로 카드를 옮길 때 색상에 상관없이 한 번에 옮길 수 있다는 점이다.이를 통해 만약 비어있는 상자가 아니거나 하나의 색상 카드만 존재하지 않는 경우라면 모든 카드를 조커 상자로 옮기면 된다.또한 핵심 포인트 때문에 카드의 색상이 가장 다양하게 존재하는 상자가 무조건 적 조커가 되지 않으므로 모든 상자를 돌아가며 조커가 될 때 가장 작은 횟수를 구하면 된다. 만약 1개의 색상만 존재하는 상자가 이미 앞 전에 같은 색상만 존재하는 상자가 있다면 옮겨 주어야 하므로 이 부분만 유의하면 된다. #include #include #include #include using namespac..

Algorithm 2024.09.20

[오라클] 자동차 평균 대여 기간 구하기

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법일단 CAR_ID를 기준으로 그룹을 만든다. 그 후 HAVING 조건으로 차이가 7일 이상 나는 그룹을 선택한다. 여기서 ROUND 함수를 사용해서 소수점 두 번째 자리에서 반올림을 한다.SELECT 할 때 중요한 점은 나누어 떨어지는 기간이라도 마지막에 .0을 붙여줘야 한다는 것이다.이를 위해 TO_CHAR함수를 사용해서 포멧을 맞추어 준다. 'FM9990.0')SELECT ..

SQL 2024.09.20

[오라클] 보호소에서 중성화한 동물

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59045 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법ANIMAL_INS과 ANIMAL_OUTS를 같은 아이디를 기준으로 조인한 후 ANIMAL_INS의 중성화 여부는 Intact Female or Intact Male이 되어야 하고 ANIMAL_OUTS의 중성화 여부는 Spayed Female or Spayed Male or Neutered Female or Neutered Male 이 되어야 한다 그러므로 LIke문을 사용해서 Fam..

SQL 2024.09.20

[백준] 1학년 5557번 (c++) dp

출처 : https://www.acmicpc.net/problem/5557풀이 방법dp를 설정하는 것에 시간이 많이 쓴 거 같다결정한 방법은 dp[y][x] == y번째 자리일 때까지의 합이 x인 경우로 설정했다.또한 만약 dp[y][x]의 값이 0이라면 해당 경우는 가능하지 않은 경우 이므로 선택하지 않는다.결국 dp[y][x]의 값이 양수인 것 중에서만 dp[y-1][x-number[i]]를 더해주거나 빼주면 된다. (0 이상 20 이하 인경우만) #include #include #include using namespace std;int N;vector number;long long dp[101][21];int main() { memset(dp, 0, sizeof(dp)); //dp 배열 초기화..

Algorithm 2024.09.19

[오라클] 오랜 기간 보호한 동물(1) ROWNUM 사용하기

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법ANIMAL_INS에는 있고 ANIMAL_OUTS는 없어야 하므로 left join을 사용한다.그 후 DATETIME기준으로 order 한 후 제일 위에서 3개를 택해야 하므로 ROWNUM문법을 사용해서 3개를 택한다.SELECT *FROM (SELECT a.NAME, a.DATETIME FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.AN..

SQL 2024.09.19