[Programmers] 59035번 - 역순 정렬하기 [MySQL]
문제 링크 1. 문제 풀이 ANIMAL_ID의 역순으로 조회하기 위해 DESC를 활용했다. 2. 쿼리 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;
문제 링크 1. 문제 풀이 ANIMAL_ID의 역순으로 조회하기 위해 DESC를 활용했다. 2. 쿼리 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;
문제 링크 1. 문제 풀이 테이블의 모든 정보를 조회하므로 와일드카드(*)를 사용했다. 2. 쿼리 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID;
1. 슬라이딩 윈도우 슬라이딩 윈도우(Sliding Window)는 배열이나 리스트와 같은 데이터 구조에서 연속된 부분 배열의 합이나 애너그램(Anagram) 등을 효율적으로 계산하는 데 사용되는 일종의 테크닉이다. 주로 고정된 크기의 윈도우(Window)를 활용하여 데이터를 처리하며 이 과정에서 반복적인 계산을 줄여 시간복잡도를 낮출 수 있다....
문제 링크 1. 문제 풀이 주어진 햄버거를 적절하게 분배하여 길원이가 선배들보다 효용이 높지 않으면서 최대 효용을 얻어야 하는 문제다. 먼저 주어진 햄버거의 효용의 합을 구해 변수로 저장한다. 이후 2차원 방문 체크 배열을 활용해 행 인덱스와 열 인덱스가 각각 선배들이 먹은 햄버거의 효용의 합이 되게 하면 방문 체크 시 길원이가 먹은 햄버거...
문제 링크 1. 문제 풀이 주어진 막대를 이어 붙이는 것이 가능할 때 만들 수 있는 가장 큰 직사각형의 넓이를 구하는 문제다. $N$ 이 꽤 작긴하지만 각 변에 어떤 막대를 배치할지 찾는 단순한 완전탐색으로는 $O(5^N)$ 이라서 어렵다.(네 변 + 안 고르기로 총 5가지 선택지) 해당 문제는 4차원 dp를 활용해서 직사각형의 왼쪽 변은...
문제 링크 1. 문제 풀이 $1$ 부터 $N$ 까지 각 수의 배수 번째 창문의 상태를 바꿀 경우 열린 창문의 개수를 구하는 문제로 임의의 $M$ 번 창문에 대해 해당 창문을 열거나 닫을 수 있는 수는 $M$ 의 약수들만 가능하다. 처음에 모든 창문이 닫혀 있으므로 창문이 열려있으려면 약수의 개수가 홀수이면 되며 약수의 개수가 홀수인 수는 $...
문제 링크 1. 문제 풀이 의상의 종류를 key로 해당 종류의 의상의 수를 value로 갖는 해시맵을 활용하면 해결할 수 있다. 해당 종류의 의상의 수가 $N$ 가지일 때 해당 종류의 의상을 입는 경우의 수는 $N$ 가지이며 안 입는 경우 $1$ 가지가 있어 각 종류마다 (해당 종류의 수 $+1$) 가지 경우의 수가 생긴다. 각각의 종류마다...
문제 링크 1. 문제 풀이 participant에서 completion를 뺀 한 명의 선수를 찾는 문제로 해시맵을 활용하면 해결할 수 있다. 이름이 중복인 선수가 없다면 해시셋을 사용하면 되지만 이름이 중복될 수 있기에 key에 선수 이름, value에 해당 선수의 수를 저장한 해시맵으로 참여한 선수 정보를 먼저 저장 후 완주한 선수 정보를...
문제 링크 1. 문제 풀이 $N$ 마리의 폰켓몬 중 $N / 2$ 마리를 선택할 수 있을 때, 고를 수 있는 폰켓몬 종류의 수의 최댓값은 전체 폰켓몬 종류의 수가 $N / 2$ 이상이면 각 종류마다 한 마리를 골라 $N / 2$ 종류를 고를 수 있고, 전체 폰켓몬 종류의 수가 $N / 2$ 미만이면 모든 종류를 고를 수 있어 전체 폰켓몬 종...
문제 링크 1. 문제 풀이 회사에 들어온 사람은 "enter", 회사에서 나간 사람은 "leave" 로 주어지는 문제로 회사에 들어왔으면 집합에 넣고, 회사에서 나갔으면 집합에서 제거해주면 된다. 회사에 있는 사람의 이름을 사전 순의 역순으로 출력해야 해서 트리셋을 집합으로 활용했고 역순으로 설정해줬다. 2. 코드 1. 풀이 [J...