본문 바로가기

ETC

(69)
[LV1] 완주하지 못한 선수 python https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 카운터 라이브러리를 사용해 볼 수있는 해시 문제이다. 카운터는 키 끼리 뺄 수가 있다. 따라서 참가자에는 있는데 완주자에는 없는 사람이 답이다. from collections import Counter def solution(participant, completion): return list((Counter(participant) - Co..
[LV1] 프로그래머스 최대값 구하기 mysql https://programmers.co.kr/learn/courses/30/lessons/59415 코딩테스트 연습 - 최댓값 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr -- 코드를 입력하세요 SELECT MAX(DATETIME) FROM ANIMAL_INS
[LV1] 2개 뽑아서 더하기 Python https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 programmers.co.kr 해당 문제는 조합 만드는 방법을 사용해서 해결하였다. 2중 for문으로 간단하게 해결할 수도 있지만. 조합 만드는 방법을 해당 풀이로 학습해보자. 다양하게 응용할 수 있다. def solution(number): # 결과가 중복이 가능하므로 set으로 선언한다. answer = set() # 조합을 만들 stack을 선언한다. stack = [] def check(next_idx): if len(stack) == 2: answer.add(sum(stack)) return for i in range(next_idx, len(numbe..
[LV1] 크레인 인형뽑기 Python https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): # 인형을 담을 스택 stack = [] answer = 0 # 1. move 안의 좌표를 check한다. for m in moves: pick = 0 # 2. board를 위에서부터 한 "행씩" 하나씩 체크한다. for r in board: # 3. move 안의 좌표는 열을 나타낸다. 0이 아니면 인형이 있는 것이므로 선택한다. if ..
[LV1] 모든 레코드 조회하기 Mysql 모든 동물 조회, ANIMAL_ID로 오름차순 (기본 ASC) SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; https://programmers.co.kr/learn/courses/30/lessons/59034 코딩테스트 연습 - 모든 레코드 조회하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr
프로그래머스 DFS/BFS 단어 변환 Python 풀이 https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 | 프로그래머스 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 hit, target가 cog, words가 [hot,dot,dog,lot,log,cog]라면 hit -> hot -> dot -> dog -> programmers.co.kr 역시 이번에도 잘 푼 사람의 풀이를... 조금 더 python스럽게 최적..
프로그래머스 DFS/BFS 네트워크 Python 풀이 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 | 프로그래머스 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크 programmers.co.kr def solution(n:int, computers:list)-> int..
프로그래머스 DFS/BFS 타겟 넘버 python 풀이 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 | 프로그래머스 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘 programmers.co.kr 이 문제는... 다른 사람의 풀이 중에... 재귀적으로 멋지게 푼 풀이가..