[Programmers] #181832 - 정수를 나선형으로 배치하기 [Java][C++][Python]
문제 링크 1. 아이디어 n × n의 달팽이 배열을 만드는 문제로 방향 배열을 활용하면 해결할 수 있다. 시계방향으로 회전하도록 방향 배열을 정의한 후, 다음 칸으로의 이동은 방향 배열을 통해 진행하며 다음 칸이 배열 내부면서 방문하지 않은 칸이면 방문 후 이동하는 과정을 반복하면 된다. 2. 복잡도 접근 ...
문제 링크 1. 아이디어 n × n의 달팽이 배열을 만드는 문제로 방향 배열을 활용하면 해결할 수 있다. 시계방향으로 회전하도록 방향 배열을 정의한 후, 다음 칸으로의 이동은 방향 배열을 통해 진행하며 다음 칸이 배열 내부면서 방문하지 않은 칸이면 방문 후 이동하는 과정을 반복하면 된다. 2. 복잡도 접근 ...
문제 링크 1. 아이디어 i + j <= k를 만족하는 경우에 대해 board에서 합을 구하는 문제로 2차원 배열을 순회하며 인덱스의 합이 k 이하인 경우에만 합을 구하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N \times...
문제 링크 1. 아이디어 2021년에 가입했고 나이가 20세 이상 29세 이하인 회원 수를 구하는 문제다. 2021년 가입은 JOINED가 2021-01-01 이상 2022-01-01 미만인 조건으로 표현한다. AGE가 NULL인 회원은 BETWEEN 비교에서 자동으로 제외된다. 2. 쿼리 풀이 [MySQL] SELECT COUNT(...
문제 링크 1. 아이디어 상품 가격을 만원 단위 구간으로 나눠 구간별 상품 개수를 구하는 문제다. 가격을 PRICE DIV 10000 * 10000로 구간의 최솟값까지 낮춰 그 값끼리 묶으면 된다. 2. 쿼리 풀이 [MySQL] SELECT (PRICE DIV 10000 * 10000) AS PRICE_GROUP, COUNT(*) A...
문제 링크 1. 아이디어 PRODUCT_CODE의 앞 두 글자를 카테고리로 보고 카테고리별 상품 개수를 구하는 문제다. 2. 쿼리 풀이 [MySQL] SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY CATEGORY ORDER BY ...
문제 링크 1. 아이디어 USER_INFO에서 AGE가 NULL인 회원 수를 구하는 문제다. 2. 쿼리 풀이 [MySQL] SELECT COUNT(*) AS USERS FROM USER_INFO WHERE AGE IS NULL
문제 링크 1. 아이디어 3월에 태어난 여성 회원의 MEMBER_ID, MEMBER_NAME, GENDER, DATE_OF_BIRTH를 MEMBER_ID 순으로 조회하는 문제다. 생년월일·성별 조건 외에 전화번호가 없는 회원은 제외해야 해서 TLNO IS NOT NULL 조건도 같이 걸었다. 2. 쿼리 풀이 [MySQL] SELECT...
문제 링크 1. 아이디어 가격이 가장 비싼 식품 한 건의 정보를 조회하는 문제다. 동점 처리 규정이 없어 PRICE를 내림차순 정렬한 뒤 첫 행만 가져오면 된다. 2. 쿼리 풀이 [MySQL] SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC LIMIT 1
문제 링크 1. 아이디어 경기도에 위치한 식품창고의 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, FREEZER_YN을 WAREHOUSE_ID 순으로 조회하는 문제다. FREEZER_YN이 NULL인 행도 냉동시설 여부를 모른다는 뜻이 아니라 'N'으로 표시해야 하므로, IFNULL로 NULL을 'N'으로 바꿔 출력했다...
문제 링크 1. 아이디어 강원도에 위치한 생산공장의 FACTORY_ID, FACTORY_NAME, ADDRESS를 FACTORY_ID 순으로 조회하는 문제다. ADDRESS가 '강원도'로 시작하는 행만 보면 되므로 LIKE '강원도%'로 걸러냈다. 2. 쿼리 풀이 [MySQL] SELECT FACTORY_ID, FACTORY_NAME...