보글보글 개발일지
반응형
[프로그래머스][SQL/MySQL] 성분으로 구분한 아이스크림 총 주문량
코딩기록/SQL 2023. 4. 2. 20:05

문제 https://school.programmers.co.kr/learn/courses/30/lessons/133026 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 GROUP BY와 JOIN 을 합친 문제. FLAVOR을 통해 두 테이블을 연결한 후, SUM을 통해 합만 구해주면 된다. 코드 SELECT II.INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDER FROM ICECREAM_INFO II JOIN FIRST_HALF FH ON II.FLAVOR = FH.FLAVOR GROUP BY II.INGREDI..

[프로그래머스][SQL/MySQL] 가격대 별 상품 개수 구하기
코딩기록/SQL 2023. 4. 2. 19:40

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131530 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 내 풀이가 정석인지는 모르겠지만, 가격을 10000으로 나누고 소수자리를 전부 버린다. 그럼 0~9999원은 0이 나오고, 10000~19999원은 1이 나오고, 20000~29999원은 2가 나온다. 출력할 때는 10000을 곱해서 범위의 시작을 나타낸다. 코드 SELECT TRUNCATE(PRICE/10000,0)*10000 AS PRICE_GROUP,COUNT(*) AS PROD..

[프로그래머스][SQL/MySQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
코딩기록/SQL 2023. 4. 2. 18:56

문제 https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음에는 너무 어렵게 생각해서 OPTION을 ,를 기준으로 자르는 방법이 있나? 라고 생각했는데.. 그냥 문자열이 포함 되어있는지의 여부만 판단하면 되는 문제였다. 이때 .. WHERE 절과 LIKE문만 사용하면 된다. 코드 SELECT CAR_TYPE, COUNT(*) CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%통풍시트%' OR ..

[프로그래머스][SQL/MySQL] 입양 시각 구하기(1)
코딩기록/SQL 2023. 4. 2. 18:46

문제 https://school.programmers.co.kr/learn/courses/30/lessons/59412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 GROUP BY, HAVING을 쓸 수 있어야하는 문제. HAVING 대신 WHERE도 사용할 수 있다. 여기서 순서는 WHERE->GROUP BY->HAVING이 되어야한다. 시를 비교할 때는 HOUR() 을 사용하면 된다. 코드 SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT FROM ANIMAL_OUTS WHERE HOUR(DAT..

[프로그래머스][SQL/MySQL] 상위 n개 레코드
코딩기록/SQL 2023. 3. 31. 14:17

문제 https://school.programmers.co.kr/learn/courses/30/lessons/59405 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 SOL1) IN, 서브쿼리를 활용하여 가장 값이 작은 것을 뽑아내기 SOL2) 정렬 한 뒤, 값을 1개만 뽑아내는 방식 코드 SOL1) SELECT Name from animal_ins where (datetime) in (select min(datetime) from animal_ins) SOL2) SELECT name from animal_ins order by datetime as..

[프로그래머스][SQL/ORACLE] 모든 레코드 조회하기
코딩기록/SQL 2023. 3. 31. 00:10

문제 https://school.programmers.co.kr/learn/courses/30/lessons/59034?language=oracle 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ORDER BY만 쓸줄알면 된다. 사실 MY SQL만 써봤는데 교육듣는 거에서 오라클로 수업해서 한번 오라클로 풀어보았다.. 거의 비슷한듯? 너무 쉬워서 글올리기도 민망하지만.. 코드 SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION,NAME,SEX_UPON_INTAKE FROM ANIMAL_INS ORD..

[백준/1436][Python] 영화감독 숌
알고리즘 2023. 3. 29. 15:02

문제 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 풀이 완전탐색을 활용하여 풀었다. 완전탐색이 가능한 이유는, N이 최대 10000이고, 10000번째 종말의 숫자는 6,669,999보다 작다. 따라서 100,000,000보다 작으므로 루프문으로 해결이 가능하다. 총 연산 수가 약 1억회 이하인 경우, 완전 탐색으로 접근할 수 있다! 코드 import sys read = sys.stdin.readline n = int(read()) cnt..

[백준/1926][Python] 그림
알고리즘 2023. 3. 27. 16:35

문제 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 풀이 이 문제도 BFS의 기본 문제. 아무래도 C++과 자바로 풀었던 문제라 쉽다고 생각했는데 vis를 Boolean으로 선언해놓고 0이냐 아니냐로 비교했더니 오류나서 한참 고생... BFS를 함수로 선언한 코드가 많던데, 난 중복이 없길래 그냥 ... 풀어서 썼다. 이중 for문을 통해서 BFS 탐색을 시작할 위치를 고르고, 그림의 수를 카운팅해준다. 그리고 면적은 큐에 들어온 좌표 수 만큼 카..

[파이썬] 문자열 입력 받는 방식 for 코딩테스트
코딩기록/파이썬 2023. 3. 24. 16:18

마치 C++의 cin처럼 sys.stdin.readline으로 입력 받는 게 더 빠르다. 그냥 input()으로 입력받아도 되긴하나, 여러 과정이 추가로 진행되어 느리다고 한다. 2개 입력 받아서 각 변수에 저장 예시 3 5 import sys read = sys.stdin.readline n,m = map(int,read().split()) N개의 정수를 한 줄로 입력 받아 List에 저장할 경우 import sys read = sys.stdin.readline data = list(map(int, read().split())) 2차원 배열 입력받기 (공백 없는 경우) 4 6 101111 101010 101011 111011 위처럼 입력받아야 하는 경우 import sys read = sys.stdin..

[백준/2178][Python] 미로찾기
알고리즘 2023. 3. 24. 14:14

문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 예를 들어 101010이 입력됐다면, C++이라면 String으로 입력받아서 하나씩 저장했다면, 파이썬에서는 아래와 같이 for _ in range(n): graph.append(list(map(int,read().rstrip()))) 이 코드를 쓴다. rstrip쓰는 이유는 readline 방식이 \n도 같이 입력받기 때문에 이를 지우기 위함이다. 더 쉽게 입력 받는 방법은 n,m = map(int,input().s..

반응형