본문 바로가기

전체 글77

[프로그래머스/파이썬] h-index 풀이 (정렬, sort, python) [프로그래머스/파이썬] h-index 풀이 (정렬, sort, python)  1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42747 2. 문제 해결 아이디어 (풀이) 변수 선언1. max_h : 결과 (조건에 부합하는 최대 인용 수)2. h_higher_count : h번 이상 인용된 개수를 구하기 풀이1. 오름차순으로 citations를 정렬한다. * sort를 이용해서 배열 정렬이 가능하다. 2. for문으로 논문 리스트(citations)를 순회한다. 2.1. 그리고 현재 h번 이상 인용된 횟수를 구한다.- len-i의 이유는, 오름차순 정렬이기 때문에 현재까지 개수를 빼면 자연스럽게 h번 이상 인용된 논문의 개수가 구해지기 때문.. 2025. 4. 8.
[프로그래머스/MySQL] 대여횟수가 많은 자동차들의 월별 대여 횟수 구하기 풀이 (GROUP BY, DATE_FORMAT, WHERE 서브쿼리, MONTH) [프로그래머스 / SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(MySQL, GROUP BY, MONTH, DATE_FORMAT, BETWEEN, WHERE 서브쿼리) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 해결 아이디어 (풀이) 1. WHERE 서브쿼리를 이용하여 2022-8 월부터 10월까지 자동차별로 5개가 넘는 경우의 CAR_ID를 가져온다.* DATE_FORMAT을 이용하여 년, 월 형식을 가져온다.* BETWEEN A AND B를 .. 2025. 3. 13.
[프로그래머스/SQL] 연도 별 미세먼지 농도 조회하기 풀이 (ROUND, DATE_FORMAT, YEAR) [프로그래머스 / SQL] 연도 별 미세먼지 농도 조회하기 풀이 (MySQL, String, Data) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/284530 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 해결 아이디어 (풀이) 1. YM을 연도만 뽑아내기 위해, 데이터 포맷을 변경해 준다.* DATE_FORMAT 혹은 YEAR로, 연도만 나타나게 변경 - 만약 DATE_FORMAT을 이용하는 경우, String이기 때문에 숫자 정렬과 달라질 수 있다. 따라서 CAST()로 숫자로 형변환해줘야 한다. 2. GROUP.. 2025. 3. 12.
[프로그래머스/파이썬] 네트워크 풀이 ( dfs , 재귀함수, Python ) [프로그래머스 / 파이썬] 네트워크 풀이 ( dfs , 재귀함수, Python )  1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 해결 아이디어 (풀이)  1. 반복문으로 모든 노드를 1~n번까지 DFS로 탐색하면서, 하나의 노드 당 연결된 모든 노드를 방문처리한다.* 이때, 방문 처리 배열 'visited'를 만들어서 이용한다.  1.1. 이때 현재 노드와 연결된 모든 노드를 for문으로 반복하여서, 아직 방문하지 않은 노드인지(+ 벽이 아닌 길인지) 확인한 뒤, df.. 2025. 3. 1.
[프로그래머스/파이썬] 타겟 넘버 풀이 (Python, dfs, 재귀함수) [프로그래머스/파이썬] 타겟 넘버 풀이 (Python, dfs, 재귀함수) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 해결 아이디어 (풀이) * DFS를 실행할 때, 계산의 마지막을 판단하는 방법은 'depth'이다. 1. number 배열의 숫자를 차례대로 계산한다. (depth로 숫자 index 판단)1.1. 이때 각 숫자마다 (+,-)를 한번씩 대입해서 계산한다.- (참고로, 처음부터 -가 붙을 수 있으니, 0에서 값을 더하거나 빼는 방식으로 진행) 2. 끝까지.. 2025. 2. 28.
[프로그래머스/파이썬] 피로도 풀이 (dfs, 백트래킹, 완전탐색) [프로그래머스/파이썬] 피로도 풀이 (dfs, 백트래킹, 완전탐색)  1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  2. 사전 개념 2.1. 백트래킹(Backtracking)가능한 모든 경우의 수를 탐색하면서 조건을 만족하는 경우만을 채택하는 방법이다.조건을 만족하지 않으면 그 경로를 더 이상 탐색하지 않고 되돌아간다.이 과정에서 '가지치기'를 수행하여 비효율 적인 탐색을 방지하는 것.참고 :https://chanhuiseok.github.io/posts/algo-23/ 2.2... 2025. 2. 27.