본문 바로가기
728x90
반응형

전체 글510

[프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 가격이 제일 비싼 식품의 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 문제이다. 식품의 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격은 값을 조회하려는 테이블의 모든 컬럼이므로 컬럼 이름을 모두 적어주는 대신에 *를 입력하여 모두 선택하면 된다.해당 문제에서는 WHERE에 조건을 입력하는 부분이 중요한데, 가격 컬럼의 값이 최댓값인 값만 조회해야 한다.하여 조건을 지정할 때 최댓값을 지정하려면 서브쿼리를 활용하여 가격의 최댓값을 조회하고 해당 값을.. 2024. 9. 7.
[백준] 2293번 : 동전 1 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/2293 1. 문제 설명2. 풀이과정해당 문제는 동전을 여러 개 사용하여 가치의 합을 맞출 수 있는 모든 경우의 수를 구하는 문제이다.모든 경우의 수를 다 찾을 수 없으므로 동전의 가치가 가장 작은 것부터 가치의 합을 1부터 k까지 각 경우의 수를 차례대로 구하여 저장한 다음, 가치가 큰 동전을 하나씩 불러오며 해당 동전만으로 만들 수 있는 값을 구해 그 경우의 수를 이전 경우의 수에 추가한다.예제를 예시로 보면 동전의 가치가 가장 작은 1부터 각 가치를 1만 사용하여 경우를 구한다. 다음으로 2만 사용하여 경우를 이전의 경우에 추가하여 구한다.여기서 2는 0의 경우에 2를 추가한 경우이고, 3은 1의 경우에 2를 추가한 경우이다.4는 2의 경우에.. 2024. 9. 7.
[프로그래머스] 중복 제거하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 문제이다.해당 문제에서 중요한 점은 중복되는 이름은 하나로 치는 것이다.중복을 제거할 때는 DISTINCT를 사용하면 된다.이름 컬럼에 DISTINCT를 사용하여 중복되는 이름을 하나로 치고 그 개수를 세어 조회하면 된다.여기서 또 하나, 이름이 NULL인 경우는 집계하지 않으므로 이름 컬럼의 값이 NULL이 아닌 경우만 조회한다. 중복을 제거한 이름 컬럼의 개수를 세어 count 컬럼명으로 조회한다. SELECT CO.. 2024. 9. 6.
[프로그래머스] 동물 수 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 문제이다.단순히 개수를 세어주는 문제이기 때문에 COUNT() 함수를 사용하여 개수를 세어주면 된다. 동물의 수를 세어 count 컬럼명으로 조회한다. SELECT COUNT(ANIMAL_ID) AS count값을 조회할 테이블을 지정한다. FROM ANIMAL_INS3. 소스코드SELECT COUNT(ANIMAL_ID) AS countFROM ANIMAL_INS 2024. 9. 6.
[프로그래머스] 이름에 el이 들어가는 동물 찾기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 이름에 'el'이 들어가는 개의 아이디와 이름을 조회하는 문제이다. 문자열 타입으로 되어 있는 동물의 이름에 대문자와 소문자 상관없이 'el'이 들어가는지 확인하는 방법은 LIKE 구문을 사용하여 지정하는 문자열 타입과 일치하는지 확인하면 된다. 지정하는 문자열에는 특정 문자열을 지정해 주거나 _, % 등의 기호를 추가로 사용할 수 있다. _ 문자는 특정 한 개의 문자를 의미하고, % 문자는 특정 문자열을 의미한다. 따라서 이름에 'el'이 들어가는 동물의 이름을 찾고 싶을.. 2024. 9. 1.
[프로그래머스] 동명 동물 수 찾기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 두 번 이상 쓰인 동물 이름과 쓰인 횟수를 조회하는 문제이다.이름이 없는 동물은 집계에서 제외되어야 하므로 조회할 때 이름값이 NULL이 아닌 값들만 가져온다.이름별로 쓰인 횟수를 조회해야 하므로 이름별로 그룹을 묶어준다.이름별로 묶인 그룹에서 각 이름별 쓰인 횟수를 구하고 그 횟수가 2회 이상인 값들만 가져온다.쓰인 이름의 횟수를 구하려면 조회한 데이터의 개수를 구해야 한다.이는 COUNT() 함수를 활용하여 해당 컬럼의 데이터 개수를 세어주면 된다.묶인 그룹에서 2회 이.. 2024. 8. 31.
[프로그래머스] 최솟값 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명2. 풀이과정해당 문제는 가장 먼저 들어온 동물을 찾아 들어온 시간을 조회하는 문제이다.시간의 정보가 저장되어 있는 DATETIME 컬럼의 최솟값을 찾으면 해당 값이 가장 먼저 들어온 시간이 된다. 시간 정보 컬럼의 최솟값을 조회한다. SELECT MIN(DATETIME) AS '시간'값을 조회할 테이블을 지정한다. FROM ANIMAL_INS3. 소스코드SELECT MIN(DATETIME) AS '시간'FROM ANIMAL_INS 2024. 8. 30.
[백준] 2629번 : 양팔저울 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/2629 1. 문제 설명2. 풀이과정해당 문제는 여러 개의 추를 가지고 구슬의 무게를 확인하는 문제이다.각 구슬별로 무게를 확인할 수 있는지 없는지 출력하는 문제이다.해당 문제 총 3가지의 동작을 반복적으로 수행하며 확인하려는 구슬의 무게를 만들 수 있는지 없는지 확인하고 결과를 출력하면 된다. 따라서 재귀적으로 수행되어야 하고 만들 수 있는 무게를 저장하며 문제를 해결해야 한다.문제에서 이뤄지는 행동 3가지를 살펴보면 아래와 같이 나타낼 수 있다.추를 저울에 놓는다.추를 저울의 반대쪽에 놓는다. (저울에서 뺀다.)추를 놓지 않는다.3가지 행동을 하며 추를 활용해 확인할 수 있는 구슬의 무게를 찾는다.이때 만약 추의 개수가 전체 추의 개수를 넘어가.. 2024. 8. 28.
[백준] 1520번 : 내리막 길 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/1520 1. 문제 설명2. 풀이과정해당 문제는 이전 위치에서 다음 위치로 이동할 때 다음 위치가 이전 위치보다 낮은 높이로 이동해야 한다.마지막 위치까지 이동하면서 이동 가능한 총 이동 가능 경로의 수를 반환하는 문제이다.지도를 이동하는 문제라는 점에서 dfs나 bfs 알고리즘으로 해결해야 한다는 것을 파악할 수 있다.또 이동 가능한 총 경로의 수를 반환해야 한다는 점에서 이전의 결과들을 저장하는 다이나믹 프로그래밍 알고리즘을 활용해야 한다는 것도 파악할 수 있다.dfs 알고리즘으로 0, 0에서 출발하여 이동 가능한 다음 위치를 찾아 최대한 마지막 위치까지 이동한다.만약 마지막 위치에 도달하면 가능한 경로를 찾았으므로 1을 반환한다. 만약 도달한.. 2024. 8. 3.
[백준] 11049번 : 행렬 곱셈 순서 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 https://www.acmicpc.net/problem/11049 1. 문제 설명2. 풀이과정해당 문제는 백준 11066번 : 파일 합지기 문제와 풀이 방법이 유사하다.해당 문제 역시 행렬을 모두 곱하는 연산을 수행할 때 필요한 곱셈 연산의 수가 최소가 되는 값을 구하는 문제이다.행렬을 하나하나 곱하면서 최종 결과가 최적일 때, 바로 이전의 결과들 또한 최적이어야 하는 문제, 즉 이전 11066번 문제와 동일하므로 다이나믹 프로그래밍 알고리즘을 활용하여 문제를 해결해야 한다. 이번 문제는 단순히 덧셈 연산만 존재하는 것이 아니라 행렬의 곱셈 연산으로 인해 곱셈 연산이 추가되었다.추가된 곱셈 연산을 어떻게 수행해야 하는지를 찾는 것이 중요하다.11066번 문제와 마찬가지로 곱셈할 행렬의 개수를 늘려가며 .. 2024. 7. 31.
728x90
반응형