목록set (3)
오랑우탄의 반란
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7iSVU/btsIXKGGMr8/fRCFHo5LOkcsYvs762uxd1/img.png)
오늘도 오랑이는 문제를 풉니다. 숫자 짝꿍 풀이 과정 1X 와 Y 의 각 숫자 비교, 일치할 경우 temp 리스트에 넣어주기 각각의 케이스 정의 (-1, 0, 내림차순 정렬 숫자)이때 첫 번째 조건에서 아래와 같은 예시에 있어 5가 3개 들어가는 것을 방지하기 위해 일치할 경우 Y의 숫자를 공백으로 대체해줍니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 2개 나타나므로 남는 5 한 개는 짝 지을 수 없습니다.)def solution(X, Y): answer = '' temp = [] for i in X: if i in ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dkWMUY/btsIwAyhDY6/uTXl6eUy7HSqFkFzP1Kmb0/img.png)
오늘도 오랑이는 문제를 풉니다. 두 개 뽑아서 더하기 풀이 과정리스트의 combination 을 구해서 각각의 값을 더하는 문제입니다. 전에 비슷한 문제가 있었는데 어떤 거였는지 기억이 안 나네요..어쨌든 전과 동일하게 numbers 의 i 와 i+1 인 j 에 대해 각각 추출해서 더하면 됩니다.def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1,len(numbers)): answer.append(numbers[i]+numbers[j]) return sorted(answer) 다만 위와 같이 작성했더니 중복값이 나와서 틀렸습니다.파이썬 중복값 제거를 위해서는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxSmri/btsIsdPH9yG/nRi6tdNml7z4bdEeCa3d1k/img.png)
오늘도 오랑이는 문제를 풉니다. 기존 입양 시각 구하기 1 문제와 동일한 대신, HOUR 가 0~23까지 전부 표시되는 형식으로 출력되게 하는 문제입니다. 푸는 방법을 몰라서 오늘도 열심히 구글링 해봅니다. 입양 시각 구하기(2) 우선 기존 코드는 아래와 같습니다. 간단하죠?이렇게 하면 HOUR 가 7~19인 값에 대해서만 출력이 됩니다. IFNULL 을 사용해서 값이 없을 때 0으로 표시되도록 쿼리를 짜도, 애초에 HOUR 값이 없기 때문에 최종 결과물에 표시되지 않는 것을 보실 수 있습니다. SELECT HOUR(DATETIME) AS HOUR, IFNULL(COUNT(1),0) AS COUNTFROM ANIMAL_OUTSGROUP BY 1ORDER BY 1 그렇기 때문에 해당 문제를 풀기 위해서..