목록 code review (147)
KEEP GOING

https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net [성공한 코드 Greedy] 알파벳의 각 자리수 별로 가중치를 두어 dic에 저장 ex) ABCD => dic = {'A':1000, 'B':100, 'C':10, 'D':1} from collections import defaultdict N = int(input()) strings = [] answer = 0 number = 9 dic = defaultdict(int) for _ in r..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 1. 블로그 참고 from collections import deque n = int(input()) board = [list(map(int, input().split())) for _ in range(n)] answer, q = 0, deque() def get(i, j): # 0이 아닌 값이라면 if board[i][j]: q.append(board[i][j]) #..

https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr [math 모듈 trunc, dic.values() 사용] 이번에 소수점 '버림' 문제를 처음봐서 trunc 함수에 대해 알게 되었다. from collections import defaultdict from math import trunc def solution(str1, str2): s1_dic, s2_dic = defaultdict(i..

https://leetcode.com/problems/trips-and-users/ Trips and Users - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com [서브쿼리 사용] SELECT request_at Day ,ROUND(COUNT(IF(status != 'completed', TRUE, NULL))/COUNT(*), 2)'Cancellation Rate' FROM Trips WHERE client_id NOT IN (SELECT users_id FR..

https://leetcode.com/problems/tree-node/submissions/ CASE WHEN 사용 ( IN ) SELECT id ,(CASE WHEN p_id IS NULL THEN 'Root' WHEN id IN (SELECT p_id FROM Tree) THEN 'Inner' ELSE 'Leaf' END)AS type FROM Tree ORDER BY id CASE WHEN 사용 ( NOT IN ) SELECT id ,(CASE WHEN p_id IS NULL THEN 'Root' WHEN id NOT IN (SELECT p_id FROM Tree WHERE p_id IS NOT NULL) THEN 'Leaf' ELSE 'Inner' END)AS type FROM Tree ORDE..

https://leetcode.com/problems/market-analysis-i/ [LEFT JOIN 사용] SELECT Users.user_id as 'buyer_id' ,Users.join_date ,IFNULL(COUNT(order_date), 0) AS 'orders_in_2019' FROM Users LEFT JOIN Orders ON Orders.buyer_id = Users.user_id AND YEAR(Orders.order_date) = '2019' GROUP BY Users.user_id [CTE 사용] WITH O AS( SELECT buyer_id, COUNT(*) AS cnt FROM Orders WHERE YEAR(order_date) = '2019' GROUP BY buy..

https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net [union-find 알고리즘을 이용한 풀이] def union(Parent, a, b): a = find(Parent, a) b = find(Parent, b) if a < b: Parent[b] = a else: Parent[a] = b def find(Parent, x): if Parent[x] != x: return find(Parent, Parent[x]) return x n = int(..

https://programmers.co.kr/learn/courses/30/lessons/42626# 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 문제를 풀기 위해 우선 떠올려야 할 조건은 모든 음식의 스코빌 지수를 -1로 만들 수 없는 경우이다. scoville 리스트에 원소가 하나 남았을 때, 이 값의 스코빌 지수가 k 미만인 경우 더이상 합칠 음식이 없기에 -1을 리턴해주었다. 여기서 주의할 점은 heapq 사용 시 heapq.heappop(리스트) 를 사용할 경우, 리스트가 비어있다면..