코딩테스트 17

[세무민의 코딩일기] 프로그래머스 : 우유와 요거트가 담긴 장바구니 문제 풀이

오늘 포스팅 할 내용은 Summer/Winter Coding(2019) 문제에 나온 우유와 요거트가 담긴 장바구니 문제를 풀어봤습니다. 1. 문제 설명 2. 문제 및 예시 3. 문제 풀이 이번 문제는 위의 내용처럼 우유와 요거트 2개를 모두 가지고 있는 CART_ID를 구하면 됩니다. 그렇기 때문에 조건식에 우유와 요거트가 각각 존재하는지 구분하여 검색해주면 됩니다. ## 방법 1 SELECT DISTINCT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk' AND CART_ID IN (SELECT DISTINCT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') ## 방법 2 SELECT DISTINCT milk_tb.CART_I..

세무민의 알고가자 : 프로그래머스 폰켓몬 문제 풀기

오늘 풀어볼 문제는 폰켓몬! 바로 시작하겠습니다! 문제 설명 & 제한 사항 입출력 예시 풀이 우선 문제를 재대로 해석하지 않으면 어렵게 느낄 수 있습니다. 진짜 문제를 이해했다면 쉬운 문제라고 생각이 들더라구요! 위의 예를 잘 보시면 nums라는 배열의 총 개수 -> N 찾으려는 폰캣몬의 개수 -> N / 2 폰켓몬은 중복이 될 수 없다! 여기서 살짝 문제 푸는 방법을 아시겠죠? 결국에는 nums의 개수를 2로 나눈 값만큼 포켓몬을 찾되 중복되는 값이 아닌 최대값을 찾으면 됩니다. 여기서 포인트는 중복되는 값을 제거해준 값도 확인해주면 됩니다. 결론적으로 1. list -> 중복값 제거해주기 2. 개수 일치하는지 비교 코드 def solution(nums): result = len(nums) // 2 n..

세무민의 알고가자 : 프로그래머스 카펫 문제 풀기

오늘 풀어볼 문제는 카펫! 생각해보면 쉬웠으나 삽질을 조금 해버림...ㅎ 문제 설명 제한사항 및 입출력 예시 풀이 이 문제는 우선 문제를 이해하는 것이 중요하다. 결국에는 노란색 카펫이 갈색 카펫보다 작아야 한다는 것을 인지해야 한다. 예를 들어서 Brown, Yellow = 24, 24의 예시를 들어보면 아래의 그림처럼 그릴 수 있다. 여기서 중요한 건 노란색의 테이블을 갈색 테이블이 포함해야 한다는점! 여기서 확인할 수 있는것은 아래와 같다! 결국 Yellow는 (x-2)(Y-2)의 값을 일치하는 경우의 수를 찾아야 한다. 반복문을 이용하더라도 위와 같은 경우의 수를 인지하지 못한다면 1~2개 정도의 테스트 케이스를 통과하지 못한다. 그 이유는! Yellow를 포함하지 않는 값을 출력하기 때문! 이번..

세무민의 알고가자 : [HackerRank] 2D Array - DS 문제 풀기

기존에 세무민의 코딩일기에 알고리즘을 작성했는데 오늘 블로그 스킨부터 조금 변경하다보니 따로 분리시켰고 그래서 명칭을 조금 변경해봤다. 세무민의 코딩일기(알고리즘) -> 세무민의 알고가자 이유는 추후에 쉽게 관리하고 싶은 마음에 ㅎㅎ 알고가자 -> 알고리즘 가자!라는 간단한 의미로 시작했다 ㅎ 무튼 오늘 풀어볼 문제는 2D Array! 문제 문제 예시 입력 조건 및 출력 조건 Sample 입출력 문제 요약 및 설명 우선 영어 문제라는 점에서 해석이 중요하다. hourglass : 모래시계 위의 단어가 포인트인데 결론적으로 2D 배열을 모래시개값을 합했을 때 가장 큰 결과를 가진 모래시계 값을 출력하면 됩니다. 그림으로 표현해봤는데 모래시계 모양으로 i칸씩 증가하면 옆으로 옮기면서 계산할 수 있도록 구현해..

세무민의 코딩일기 : 프로그래머스 2016년 문제 풀기

이번 문제는 dateTime만 알고 있다면 10분도 안걸리는 문제 중 하나를 가져왔습니다. 바로 2016년 문제! 이 글을 포스팅 하는 이유는 나중에 DateTime을 또 사용할 수 있을꺼 같아서... 문제 설명 및 입출력 예시 풀이 2016년도에서 월과 일이 주어진다면 해당 요일을 출력하면 됩니다. 그렇다면 하나씩 년별로 계산해도 되지만... 이 방법은 정말 미친짓이기 때문에 사실상 제일 간편한 방법은 dataTime을 이용하는 것! 코드 def solution(a, b): import datetime dayList = ['MON','TUE','WED','THU','FRI','SAT','SUN'] answer = dayList[datetime.date(2016, a, b).weekday()] retur..