목록분류 전체보기 (123)
on my way
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/PGOCz/btsIUSqkwYO/VOooUIDkm75MwewKm9kiR1/img.png)
이 문제의 목표는 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 구하는 것이다.소수는 1과 자기 자신으로만 나누어지는 수를 의미한다.코드import mathdef isPrime(n): for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return Truedef solution(n): return sum([isPrime(n) for n in range(2, n + 1)]) 문제 해설isPrime(n) 함수: 주어진 숫자 n이 소수인지 판별하는 함수이다.입력: 정수 n출력: True 또는 False작동 원리:입력된 숫자 n의 제곱근까지의 수를 검사한다.제곱근까지만 검사하는 이유는,..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mQvAu/btsITkVTbbN/KPAJE0WhY2cq7fb1yNKkw1/img.png)
문제 설명이 문제는 REST_INFO 테이블에서 음식 종류별로 즐겨찾기 수가 가장 많은 식당의 정보를 조회하는 것이다.결과는 음식 종류를 기준으로 내림차순 정렬되어야 한다.문제 풀이내가 틀린 코드SELECT *FROM (SELECT FOOD_TYPE, REST_ID, REST_NAME, MAX(FAVORITES) AS FAVORITESFROM REST_INFOGROUP BY FOOD_TYPE ) RORDER BY FOOD_TYPE DESC이 코드가 틀린 이유는 GROUP BY 절에서 FOOD_TYPE만 그룹화 했기 때문에 REST_ID와 REST_NAME의 값이 정확히 어떤 값인지 알 수 없기 때문이다.MAX(FAVORITES)는 FOOD_TYPE 그룹 내에서 가장 큰 즐겨찾기 수를 의미하지만, 그 값이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b1KVhv/btsIVjBdVwv/WttJJuygudvnDvbr577wWk/img.png)
처음에 문제를 잘 이해하지 못했다.요약하자면 부모의 희귀도가 'RARE'인 자식 아이템을 출력하는 것이다. 문제 이해주어진 문제는 게임에서 사용되는 아이템들이 업그레이드 가능한지 확인하고, 희귀도가 'RARE'인 아이템들의 다음 업그레이드 아이템을 찾아야 했다.아이템 간의 업그레이드 관계가 주어졌고, 업그레이드 가능한 아이템들을 찾아야 했다.테이블 구조ITEM_INFO 테이블은 각 아이템의 정보를 담고 있었다. 이 테이블에는 ITEM_ID, ITEM_NAME, RARITY, PRICE 컬럼이 있었다.ITEM_TREE 테이블은 아이템 간의 업그레이드 관계를 나타내고 있었다. 이 테이블에는 ITEM_ID와 PARENT_ITEM_ID 컬럼이 있었다.요구사항 분석희귀도가 'RARE'인 아이템들의 다음 업그레이드..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cgzurS/btsIVbDdGPR/qHmkkUKZKJWjWqQjEaoHg1/img.png)
처음에 틀렸던 코드:SELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPERSWHERE (BIN(SKILL_CODE) LIKE '%1__________') OR (BIN(SKILL_CODE) LIKE '%1________')ORDER BY ID;처음에는 SKILLCODES 테이블에서 PYTHON, C#의 BIN을 확인한 후 수제로 비교해서 출력하게 끔 했다.예시 코드는 통과했지만 채점에서 에러가 떴다. 틀린 코드가 잘못된 이유:BIN 함수 사용의 비효율성: BIN(SKILL_CODE)는 SKILL_CODE를 2진수 문자열로 변환했다. 이는 문자열 비교로 조건을 처리하게 되었는데, 이는 비효율적일 뿐만 아니라 정확하게 원하는 결과를 얻기 어렵다.정확한 매칭 조건의 부..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cDYY9l/btsISLsSSkR/VYRxeZgvXon1cTGNz9l0G0/img.png)
SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),'km') AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST),2),'km') AS AVERAGE_DISTANCEFROM SUBWAY_DISTANCEGROUP BY ROUTEORDER BY ROUND(SUM(D_BETWEEN_DIST),1) DESC처음에 ORDER BY에서 그대로 TOTAL_DISTANCE를 사용해서 정답에서 틀림.(정렬은 CONCAT 이전의 수로만 비교되어야 하기 때문) 또한 처음에 SQL에서 CONCAT 사용법도 잊어버렸어서, 이런 유형도 익혀둘 것.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/brVA2j/btsISW1yodX/p3xoXFKZepQ3BKlScklSqk/img.png)
https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 코드def solution(d, budget): d.sort() while budget 문제 해결 과정1. 배열 정렬: d.sort()먼저, 부서별 신청 금액 배열 d를 오름차순으로 정렬한다.이렇게 하면 가장 적은 금액부터 차례대로 예산을 소모할 수 있게 된다. 2. 총 합 계산: while budget 배열 d의 총 합을 계산한다. 만약 이 총 합이 주어진 예산budget보다 ..