반응형

자료구조 및 알고리즘/프로그래머스 28

[프로그래머스] level1. 크레인 인형뽑기 게임

문제:  https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 문제의 풀이는 아래의 두 가지가 있습니다.비슷한 방법입니다. 행렬을 transpose하는 것이 아니라, moves에서 인덱스 값을 받아와서 처리합니다. def solution(board, moves): nrow, ncol = len(board), len(board[0]) stack = [] cnt = 0 for m in moves: # [1,5,3,5,1,2,1,4..

[프로그래머스] level2. 방문 길이

문제: https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이  중복 경로의 길이를 제외한 움직인 경로의 길이를 반환 ***1. 중복 경로는 최종 길이에 포함하지 않음 = 중복 포함하지 않을 때 set() 사용 고려2. 음수 좌표 포함하지 않음 = 2차원 배열에서 음수 인덱스 사용 안함원점을 (0,0)에서 (5,5)로 바꿔도 됨 def is_valid_move(dx, dy): # 좌표평면을 벗어나는지 체크하는 함수 return 0

[프로그래머스] level1. 실패율

문제: https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   실패 코드 def solution(N, stages): answer = [] ans_dict = {} cnt = [0] * len(stages) # 나는 도전자를 이중for문을 돌면서 찾았는데 ... for i in range(len(stages)): # 0 1 2 3 4 5 6 7 for j in range(len(stages)): # 0 ..

[프로그래머스] level1. 모의고사

문제: https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 오늘의 문제는 level 1문제입니다. 1번 수포자, 2번 수포자, 3번 수포자는 찍는 방식이 반복적이며가장 정답을 많이 맞춘 사람을 배열에 담아 return하는 문제입니다. 문제는 어렵지 않습니다.다음과 같은 방법으로 문제를 해결하면 됩니다. 1. answer와 각 사람의 답변을 매칭하여 맞았을 경우 score +12. 가장 많이 맞춘 사람 구해서 배열에 넣고3. 배열(정답) 출력 ! ..

프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 (SQL)

https://school.programmers.co.kr/learn/courses/30/lessons/131116 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💬 내가 작성한 SQL 코드 (틀린 코드) # max로 조회하면 해당 컬럼에 대한 값만 나올뿐 행 전체가 나오지 않는다. # 그래서 서브 쿼리로 걸러주고 조회해야한다. SELECT CATEGORY, MAX(PRICE) AS MAX_PRICE, PRODUCT_NAME FROM FOOD_PRODUCT WHERE CATEGORY IN ('과자', '국', '김치', '식용유') GROUP BY CAT..

프로그래머스 - 조건별로 분류하여 주문상태 출력하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE,'%Y-%m-%d') AS OUT_DATE, (CASE WHEN OUT_DATE '2022-05-01' THEN '출고대기' ELSE '출고미정' END ) AS 출고여부 FROM FOOD_ORDER ORDER BY ORDER_ID ASC; # 1. 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회 # 2. 출고여부는 5월 1일까지 출고완료 # 3. 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력 # 4. 주문 ID를 기준으로 오름차순 정렬 날짜 비교 문제이다.

프로그래머스 - 조건에 부합하는 중고거래 상태 조회하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, (CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '거래완료' END) AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER BY BOARD_ID DESC; # 1. 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회 # 2. 2022년 10월 5일에 등록된 중고거래 게시물 # 3. 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력 # 4. 게시글 ID를 기준으로 내림차순 정렬..

프로그래머스 - 노선별 평균 역 사이 거리 조회하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),'km') AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST),2), 'km') AS AVERAGE_DISTANCE FROM SUBWAY_DISTANCE GROUP BY ROUTE ORDER BY SUM(D_BETWEEN_DIST) DESC ; # TOTAL_DISTANCE 안됨 ! # 노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 노선별로 조회하는 SQL문을 작성 # 총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합 # 총 누계 거리와 평균 역 사이 거리의 컬럼명은 각각 TOTAL_DISTANCE, AVERAGE_DISTAN..

프로그래머스 - 월별 잡은 물고기 수 구하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT COUNT(ID) AS FISH_COUNT, MONTH(TIME) AS MONTH FROM FISH_INFO GROUP BY MONTH HAVING COUNT(ID) is not null ORDER BY MONTH ASC; # 1. 월별 잡은 물고기의 수와 월을 출력 # 2. 잡은 물고기 수 컬럼명은 FISH_COUNT, 월 컬럼명은 MONTH # 3. 월을 기준으로 오름차순 정렬 # 4. 월은 숫자형태 (1~12) 로 출력하며 9 이하의 숫자는 두 자리로 출력하지 않습니다 # 5. 잡은 물고기가 없는 월은 출력하지 않습니다. 날짜 데이터에서 일부만 추출하는 방법은 다음과 같다. * YEAR() / MONTH() /DAY() /HOUR() / MINUTE() / ..

728x90
반응형