본문 바로가기

프로그래머스

(31)
[LV1] 프로그래머스 나누어 떨어지는 숫자 배열 Python https://programmers.co.kr/learn/courses/30/lessons/12910?language=python3 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하� programmers.co.kr 이 문제는 안풀어져 있어서 업로드 하려고 풀었다. 30초짜리 문제인데, 풀고 베스트 해설을 봤더니 or을 썼더라 앞이 False ([]) 이면 [-1]을 리턴하기 위함이다. 정말 좋은 아이디어다... 대박 def solution(arr, divisor): retu..
[LV1] 프로그래머스 같은 숫자는 싫어 python # 1 뒤를 보며 짧게 풀기 def solution(arr): # 뒤를 보고 앞을 넣을까 말까 결정하기 때문에, 마지막 녀석은 무조건 추가해준다. test = [ v for i,v in enumerate(arr) if i+1 < len(arr) and arr[i+1]!=arr[i]] return test+[arr[-1]] # 2 닥치고 구현 def solution(arr): answer = [] for i in range(len(arr)): if not answer: answer.append(arr[i]) if answer[-1] == arr[i]: continue else: answer.append(arr[i]) return answer https://programmers.co.kr/learn/cour..
[LV1] 프로그래머스 가운데 글자 가져오기 python https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 인덱싱과 슬라이싱 문제이다. 슬라이싱은 [i:i]이면 []을 리턴함을 주의한다. 인덱스에서 //2 를 하면 항상 내림을 하기 때문에.. 홀수의 경우 가운데, 짝수일 경우 가운데의 뒤를 가져온다. 5 -> 2 (01'2'34) 4 -> 2 (01'2'3) 따라서 해당 해설에서 뒤는 +1을 해주었으니 홀수의 경우 가운데, 짝수..
[LV1] 프로그래머스 역순 정렬하기 mysql https://programmers.co.kr/learn/courses/30/lessons/59035 코딩테스트 연습 - 역순 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr -- 코드를 입력하세요 SELECT NAME,DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC 기본은 ASC 역순은 DESC 참고 : sql 기본순서 select from where group by having orde..
[LV1] 프로그래머스 2016년 python https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까�� programmers.co.kr sum([0:0])은 0이다 -_-;; 인덱싱과 슬라이싱을 잘 쓰면 되는 문제다. def solution(a, b): month_days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] day_order = ["FRI", "SAT", "SUN", "MON", "TUE", "WE..
[LV1] 체육복 Python https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 해당 문제는, 도난당했으면서 여벌이 있는 경우의 친구가 함정이다. 따라서 reserve - lost와 lost - reserve를 각각 구해준다. 또 반복문을 어떻게 돌릴까도 문제인데... 바깥쪽 순회 리스트에서 데이터를 삭제하면 안된다. 따라서 reserve를 순회하며 lost에서 체육복을 받는 경우를 제거하자. def solution(n, lost, rese..
[LV1] 모의고사 python https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 단순 반복문 문제다. 파이썬 활용 시, enum의 응용력을 배양할 수 있는 문제다 def solution(answers): # 1번의 패턴 p_1 = [1, 2, 3, 4, 5] # 2번의 패턴 p_2 = [2, 1, 2, 3, 2, 4, 2, 5] # 3번의 패턴 p_3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] # 각각의 수포자들을 it..
[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..