본문 바로가기

B/Coding Test

(20)
[프로그래머스] SQL - 입양 시각 구하기 (1), (2) 코딩테스트 연습 - 입양 시각 구하기(1) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 렙 2 SELECT HOUR(DATETIME) AS HOUR, COUNT(HOUR(DATETIME)) AS CNT FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR>=9 AND HOUR
[백준 알고리즘] 집합의 표현 - 유니온 파인드 1717번: 집합의 표현 첫째 줄에 n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 www.acmicpc.net [풀이] def find(x) : if parent[x] < 0: return x else : parent[x] = find(parent[x]) return parent[x] def union(a,b) : a = find(a) b = find(b) if a != b : parent[a] = b import sys sys.setrecursionlimit(10 ** 6) n, m = map(int,sys.stdin.readl..
[프로그래머스] MySQL - 우유와 요거트가 담긴 장바구니 https://programmers.co.kr/learn/courses/30/lessons/62284 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 1. INNER JOIN을 이용한 방법 SELECT A.CART_ID FROM CART_PRODUCTS A INNER JOIN CART_PRODUCTS B ON A.CART_ID=B.CART_ID WHERE A.NAME LIKE 'Yogurt' AND B.NAME LIKE 'Milk..
코딩테스트 연습2020 KAKAO BLIND RECRUITMENT문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057?language=python3 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr def solution(s): temp = [] for n_cut in range(1,len(s)//2+1): cnt = 0 compressed = '' for cut in range(0,len(s),n_cut): if s[cut:cut+n_cut] == s[cut+n_cut:cut+(n_cut*2)]: cnt +=1 els..
[코딩테스트 연습] - 124 나라의 숫자 https://programmers.co.kr/learn/courses/30/lessons/12899?language=python3 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr def solution(n): answer = '' rest = n%3 k = n//3 if n0: rest = k%3 k = k//3 if rest==0: rest = 4 answer = str(rest) + answer if k==1: break return answer # 나머지가 1이면 1 2면 2 0이면 4 주면 됌 몫을 계속 나눠주면서 나머지만 쏙쏙 빼먹는 구조 def solution(n): answer = '' while n>0: n -= 1 answer = '124'[n%3] + answe..
[프로그래머스] DFS/BFS - 단어 변환 https://programmers.co.kr/learn/courses/30/lessons/43163?language=python3 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr def solution(begin, target, words): visited = [False] * len(words) from collections import deque queue = deque([begin]) for same_apb in range(0,len(begin),-1): no..
[코딩테스트] 완전탐색 - 모의고사 / 카펫 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 무식해 보여도 사실은 최고의 방법일 때가 있지요. def solution(answers): pattern1 = [1,2,3,4,5] pattern2 = [2,1,2,3,2,4,2,5] pattern3 = [3,3,1,1,2,2,4,4,5,5] score = [0, 0, 0] result = [] for idx, answer in enumerate(answers)..
[코딩테스트] 완전탐색 - 소수 찾기 https://programmers.co.kr/learn/courses/30/lessons/42839?language=python3 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr [ 내 풀이 ] # 소수판별함수 from itertools import permutations def check(num): if num
[프로그래머스] 정렬 - 가장 큰 수 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr [내 풀이] def solution(numbers): from itertools import permutations as pmt temp = list(pmt(numbers, len(numbers))) li = ["".join(map(str,i)) for i in temp] return max(li) 완전 탐색. permutation의 조합툴을 활용해 모든 경우의 수를 리스트에 담아주고, 그 중 가장..