본문 바로가기

전체 글

[My_SQL] 조건별로 분류하여 주문상태 출력하기 문제 Case When 메소드를 사용할 줄 아는가에 대한 문제이다.out_date 값을 기준으로 2022-05-01까지는 출고완료 이후는 출고대기 out_date값이 없으면 출고미정으로 출력한다.해당 값을 order_id 기준으로 오름차순 정리한다.코드select order_id, product_id, DATE_FORMAT(out_date, '%Y-%m-%d'),  case when DATE_FORMAT(out_date, '%Y-%m-%d')     when DATE_FORMAT(out_date, '%Y-%m-%d') > DATE_FORMAT('2022-05-01', '%Y-%m-%d') then '출고대기'     else '출고미정' end as 출고여부 from food_order order by .. 더보기
[Java] 16928 뱀과 사다리 게임 문제문제뱀과 사다리 게임을 즐겨 하는 큐브러버는 어느 날 궁금한 점이 생겼다.주사위를 조작해 내가 원하는 수가 나오게 만들 수 있다면, 최소 몇 번만에 도착점에 도착할 수 있을까?게임은 정육면체 주사위를 사용하며, 주사위의 각 면에는 1부터 6까지 수가 하나씩 적혀있다. 게임은 크기가 10×10이고, 총 100개의 칸으로 나누어져 있는 보드판에서 진행된다. 보드판에는 1부터 100까지 수가 하나씩 순서대로 적혀져 있다.플레이어는 주사위를 굴려 나온 수만큼 이동해야 한다. 예를 들어, 플레이어가 i번 칸에 있고, 주사위를 굴려 나온 수가 4라면, i+4번 칸으로 이동해야 한다. 만약 주사위를 굴린 결과가 100번 칸을 넘어간다면 이동할 수 없다. 도착한 칸이 사다리면, 사다리를 타고 위로 올라간다. 뱀이 .. 더보기
[MY_SQL] 조건에 맞는 개발자 찾기 문제https://school.programmers.co.kr/learn/courses/30/lessons/276034 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드select d.id, d.email, d.first_name, d.last_name from developers d where d.skill_code & (select code from skillcodes where name = 'Python') OR d.skill_code & (select code from skillcodes where name = 'C#') order by d.id; 더보기
[Java] 20529 가장 가까운 세 사람의 심리적 거리 문제문제여러분은 요즘 유행하는 심리검사인 MBTI에 대해 들어보았는가?MBTI(Myers-Briggs Type Indicator)는 C.G.Jung의 심리유형론을 근거로 하여Katharine Cook Briggs와 Isabel Briggs Myers가 보다 쉽고 일상생활에 유용하게 활용할 수 있도록 고안한 자기보고식 성격유형지표이다. (출처: 위키백과)MBTI는 아래와 같이 네 가지 척도로 사람들의 성격을 구분한다.외향(E) / 내향(I)감각(S) / 직관(N)사고(T) / 감정(F)판단(J) / 인식(P)각 척도마다 두 가지 분류가 존재하므로, MBTI는 총 $2^4 = 16$가지 유형이 있음을 알 수 있다. 일반적으로 MBTI의 유형들은 각 분류를 나타내는 알파벳 한 글자씩을 따 네 글자로 표시하게 .. 더보기
[Java] 11286 절댓값 힙 문제문제절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다.배열에 정수 x (x ≠ 0)를 넣는다.배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.입력첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 정수는 -231보다 크고, 231보다 작다.출력입력에서 0이 주어진 회수만큼 답을 .. 더보기
[Java] 5525 IOIOI 문제N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다.P1 IOIP2 IOIOIP3 IOIOIOIPN IOIOI...OI (O가 N개)I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 군데 포함되어 있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. 둘째 줄에는 S의 길이 M이 주어지며, 셋째 줄에 S가 주어진다.출력S에 PN이 몇 군데 포함되어 있는지 출력한다.문제 풀이부분 점수가 있는 문제이다. 번호배점제한 150N ≤ 100, M ≤ 10 000.250추가적인 제약 조건이 없다.처음에는 단순히 I가 나오는 위치부터 한 칸 씩 옆을 비교하면서 처리를 했다. 당연하게도 50점을 받았다.더보기import java.io.. 더보기
[Java] 1927 최소 힙 문제 문제널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.배열에 자연수 x를 넣는다.배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.입력첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다.다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고,x가 0이라면 배열에서 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. x는 231보다 작은 자연수 또는 0이고, 음의 정수는 입력으로 주어지지 않는다.출력입력에서 0이 주어진 횟수만큼 답을 출력한다. 만약 배열이 비어 있는 .. 더보기
[Java] 11727 2xn 타일링 2 문제 문제2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×17 직사각형을 채운 한가지 예이다.입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.문제 풀이이전에 풀었던 문제의 연장선이다. 이전 문제에서 n - 2의 타일에 붙이는 타일은 2x1타일이 가로로 2개 붙은 형태만 가능했었는데, 타일이 추가되면서 대신 2x2타일도 가능하게 된 것을 알 수 있다. 점화식으로 표현하면 dp[n] = dp[n-1] + (2 * dp[n-2])가 된다.  각 DP를 계산할 때 10007을 나머지연산 해주는 것도 잊지 말아야한다. [Java] 11729 2.. 더보기