본문 바로가기
728x90
반응형

전체 글510

[프로그래머스] 중성화 여부 파악하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 보호소의 동물이 중성화되었는지 아닌지 파악하는 문제이다.중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어가 있다.동물 아이디와 이름, 중성화 여부를 조회하며 중성화 여부는 'O' 또는 'X'로 조회한다.중성화 여부를 나타내는 컬럼의 값에 'Neutered' 또는 'Spayed'라는 단어가 들어가 있는지 파악하기 위해서는 LIKE를 활용하면 된다. 각 단어 앞 뒤에 % 문자를 넣어 컬럼의 값 어디에도 해당 단어가 들어.. 2024. 9. 25.
[프로그래머스] 고양이와 개는 몇 마리 있을까 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 문제이다.최종 결과는 고양이를 개보다 먼저 조회해야 한다.고양이와 개가 각각 몇 마리인지 조회하려면 생물 종별로 데이터를 나누어 각 생물 종 별 마리 수를 세어주면 된다.GROUP BY 구문에 생물 종 컬럼을 지정해 생물 종별로 그룹을 만들어준다.그룹으로 나눈 생물 종의 각 마리 수를 COUNT() 함수로 세어준다.최종 결과는 개보다 고양이를 먼저 조회해야 하므로 생물 종의 이름을 기준으로 오름차순 정렬.. 2024. 9. 24.
[프로그래머스] 진료과별 총 예약 횟수 출력하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 2022년 5월에 예약한 환자 수를 진료과 코드 별로 조회하는 문제이다.최종 결과의 컬럼명은 '진료과코드', '5월예약건수'로 지정한다.2022년 5월에 예약한 환자 수를 조회해야 하므로 날짜 컬럼의 값이 '2022-05'인 값을 먼저 WHERE 구문에서 DATE_FORMAT() 함수를 활용해 조회한다.이후 진료과 코드 별로 조회해야 하므로 GROUP BY 구문을 통해 진료과 코드를 기준으로 그룹을 만들어준다.진료과별 예약한 환자 수를 조회할 때는 COUNT() 함수를 사용.. 2024. 9. 23.
[프로그래머스] 조건에 맞는 아이템들의 가격의 총합 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 희귀도가 'LEGEND'인 아이템들의 가격의 총합을 구하는 문제이다.최종 결과를 조회할 때 컬럼명은 'TOTAL_PRICE'로 지정해야 한다.문제 해결은 간단하다. 그저 희귀도가 'LEGEND'인 값들만 조회한 후 가격 컬럼의 총합을 조회하면 된다.희귀도가 'LEGEND'인 값을 조회할 때는 WHERE 조건에 해당 조건을 지정해 주면 된다.이후 조회한 값들을 가지고 가격 컬럼의 값을 SUM() 함수를 활용해 모두 더해주면 된다. 가격 컬럼의 값을 모두 더해 'TOTAL_PR.. 2024. 9. 13.
[프로그래머스] 카테고리 별 상품 개수 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 상품 카테고리 코드 별 상품 개수를 조회하는 문제이다. 문제에서 중요한 점은 바로 카테고리 코드 별로 조회를 해야 한다는 점이다. ~별로 조회를 할 때는 GROUP BY 구문으로 그룹을 만들어주면 된다. GROUP BY 뒤에 만들어줄 그룹의 기준 컬럼을 적어주면 해당 컬럼의 값 별로 그룹이 만들어진다. 그룹을 만든 뒤 COUNT() 함수를 사용하면 해당 그룹별로 각 값의 개수를 조회할 수 있다. 해당 문제에서 또 한 가지로, 조회할 때 상품 카테고리 코드를 해당 값에서 앞 .. 2024. 9. 12.
[백준] 17299번 : 오등큰수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/17299 1. 문제 설명2. 풀이과정해당 문제는 이전의 17298번 : 오큰수 문제와 유사한 문제이다.이전의 오큰수 문제는 단순히 오른쪽에 있는 값들 중 큰 값에서 가장 왼쪽에 있는 값을 구하는 문제였지만,해당 오등큰수 문제는 거기에 숫자의 개수도 커야 하는 조건이 추가되었다. N의 최대 크기가 1,000,000이므로 반복문을 사용해 오등큰수를 찾으면 제한 시간을 초과하게 된다.하여 스택을 활용해 문제를 해결한다.오등큰수가 존재하지 않는 수는 -1을 출력하므로 오등큰수를 저장할 리스트를 -1로 초기화한다.오등큰수는 해당 수 다음 수들에서 찾아야 하므로 숫자들의 개별 값이 아닌 인덱스를 저장할 스택을 생성한다.스택에 원소가 있고 스택의 제일 마지막.. 2024. 9. 11.
[프로그래머스] DATETIME에서 DATE로 형 변환 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 각 동물의 아이디와 이름, 들어온 날짜를 조회하는 문제이다.해당 문제에서 중요한 점은 데이터를 조회하는 테이블에서 날짜 컬럼의 들어온 날짜 형식과 실행 후 결과에서의 날짜 형식이 다르다는 것이다.데이터를 조회하는 테이블에서 날짜 형식은 YYYY-MM-DD HH:MM:SS 형식으로 저장되어 있다.하지만 실행 결과에서의 날짜 형식은 YYYY-MM-DD 형식으로 나타나게 된다.이렇게 날짜 형식을 바꾸기 위해서는 DATE_FORMAT() 함수를 사용할 수 있다.DATE_FORMAT.. 2024. 9. 10.
[백준] 9935번 : 문자열 폭발 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/9935 1. 문제 설명2. 풀이과정해당 문제는 폭발 문자열이 문자열에 없을 때까지 반복하며 최종적으로 남은 문자열을 출력하는 문제이다.만약 남은 문자열이 없으면 FRILA를 출력한다.스택 자료구조를 활용하여 전체 문자열에서 문자를 하나씩 가져오며 스택 자료구조에 추가한 뒤, 스택 자료구조에서 폭발 문자열의 길이만큼의 마지막 부분을 확인하여 폭발 문자열과 일치하면 해당 문자열을 제거한다.전체 문자열에서 각 문자를 하나씩 가져오며 매번 폭발 문자열이 있는지 확인할 것이기 때문에 늘 마지막 부분만 확인하여 제거해 주면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys전체 문자열을 입력받는다... 2024. 9. 9.
[백준] 7579번 : 앱 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/7579 1. 문제 설명2. 풀이과정해당 문제는 주어진 M 바이트 이상의 메모리를 추가로 확보할 때 드는 비용의 최솟값을 구하는 문제이다.해당 문제는 배낭 문제(Knapsack Problem)와 유사하여 이와 관련된 다이나믹 프로그래밍(Dynamic Programming) 알고리즘을 사용하면 해결할 수 있다.2차원 dp 배열을 생성하여 dp[i][j] 값에 i번째까지의 앱을 고려했을 때 j 비용만 들여 확보할 수 있는 최대의 메모리를 저장하면 된다.비용의 최댓값은 모든 앱을 비활성화했을 경우 드는 비용이므로 모든 앱의 비용을 더해주면 된다.처음 각 앱까지만 고려했을 때 비용에 따른 최대 메모리는 이전 앱까지만 고려했을 때 비용에 따른 최대 메모리로.. 2024. 9. 8.
[프로그래머스] NULL 처리하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 문제이다.해당 문제에서 중요한 점은 이름이 없는 동물의 이름은 NULL 기호 대신 "No name"으로 표시해줘야 한다는 것이다.NULL을 다른 값으로 바꿀 때는 SELECT 절에서 IFNULL() 함수를 사용하면 된다.IFNULL() 함수를 IFNULL(값1, 값2)처럼 사용하면 만약 값1이 NULL일 경우 값2로 바꾸라는 의미가 된다.IFNULL() 함수를 사용하여 이름 컬럼의 값이 NULL 이면 ".. 2024. 9. 8.
728x90
반응형