https://programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr datetime으로 된 날짜를 string으로 바꾸는 문제였고 파이썬과 비슷하게 '%Y-%m-%d'를 사용하여 변환을 할 수 있다. 정답 코드 SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME,'%Y-..
https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 굉장히 간단하게 풀 수 있는 문제인데 너무 어렵게 생각해서 시간 초과 왕창 맞았던 문제이다. 첫번째 시도 - 시간 초과 실패 from itertools import combinations as cb def solution(nums): answer = 0 result = [] for numb in cb(nums, int(len(nums)/2)) : result...
https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 처음에 문제를 보고 모든 경우의 수를 다 생각해야 하나 고민에 빠졌었다. 곰곰히 생각해보니 그럴 필요 없이 for문 하나만으로도 해결을 할 수 있을 것 같았다. 정답 풀이 def solution(d, budget): answer = 0 d = sorted(d) for i in range(len(d)) : if budget >= d[i] : budget -= d[i]..
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 정말 이해가 안되는 문제였다!! 문제가 이해가 안되는게 아니고 내가 푼 풀이는 왜 통과가 안되는지?가 의문인 문제이다 ㅋㅋㅋㅋ... 해시 문제라고 되어있지만 나는 해시를 이용하지 않고 풀었다. 첫번째 시도 - 테스트 케이스 왕창 틀림, 효율성 2/4 틀림 def solution(phone_book): answer = True phone_book = sorte..
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 프로그래머스에서 놀랍게도 72개의 레벨1 문제 중 11개만 남겨두고 있다.... 푼 개수가 무슨 의미가 있나 싶지만 그래도 약 85%를 푼 기념으로 레벨2를 풀어봤는데 난이도가 급 어려워져서 꽤 오래 붙잡고 있었다... speeds가 주어질 때 마다 각 배포 시 몇개의 기능이 배포될 수 있는지 구하는 문제이다. 이전 기능이 배포가 되지 않으면 뒤에 있는 ..
https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr absolutes와 signs의 길이가 같기 때문에 for문 한번으로 해결할 수 있었다. 참일 땐 양수니까 그대로 뒀고 거짓을 땐 음수이므로 음수로 바꾸기 위해 값에 2를 곱해서 빼주었다. 정답 코드 def solution(absolutes, signs): for i in range(len(absolutes)) : if signs[i] =..
https://programmers.co.kr/learn/courses/30/lessons/12950 프로그래머스 레벨1에서 '행렬의 덧셈' 문제를 풀었다. 쉽다고 생각하고 풀었는데 막상 아이디어가 떠오르지 않아 시간을 생각보다 많이 썼다. 2차원 배열로 어떻게 출력을 할 수 있을까 생각을 하다가 굳이 answr라는 list를 만들어서 거기에 넣을 필요가 없을 것 같았다. 꼼수를 부릴 수 있을 것 같았고 arr1의 원소와 같은 위치에 있는 arr2의 원소들을 더해 주기만 하면 answr 리스트 없이 정답을 출력할 수 있었다. 정답 코드 def solution(arr1, arr2): for i in range(len(arr1)) : for j in range(len(arr1[0])) : arr1[i][j]..
https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 모든 자리수의 합을 구하는 부분에서 조금 버벅거렸는데 sum을 쓰기 위해서 각 자리수를 쪼갠 리스트를 만들었다. sum을 쓰려면 쪼갠 각 자리수들이 int형이어하는데 map을 사용하려면 x는 string이어야해서 좀 깔끔하지 못하게 코드를 짠 것 같다... 정답 코드 def solution(x): X = list(map(int, str..
https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr JOIN을 설명을 자세하고 친절하게 설명해둔 블로그가 있어서 https://blog.naver.com/limsomang628/222540862439 위의 링크를 참고하면서 문제를 풀었다. 정답 코드 SELECT OUTS.ANIMAL_ID, OUTS.NA..
https://programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr CASE WHEN 조건 THEN 참일 때 대체할 내용 ELSE 거짓일 때 대체할 내용 END 위의 CASE를 사용해서 문자로 대체할 수 있었다. 이때 조건은 여러개 들어갈 수 있으며 여기선 or로 하나의 조건으로 묶었다. case when then ..