일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 조합
- collections
- time complexity
- lambda
- 연습문제
- CodingTest
- 완전탐색
- 파이썬
- itertools
- Level2
- import re
- Queue
- python
- mysql
- 데이터분석
- programmers
- level4
- join
- lv4
- 시간복잡도
- 코딩
- coding
- counter
- BFS
- Stack
- 코테
- 프로그래머스
- 코딩테스트
- sql
- coding test
- Today
- Total
목록코테 (56)
ror_coding
조합 Combinations 사용하는 코드!보통 3중 포문으로 비교하던데 이게 Time complexity 도 동일하고 더 직관적이다. Question 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수..
test case는 잘 풀리는데 제출시 예외 때문에 점수가 깎이는 문제 !아마 공백 여러 개 일때가 예외 문제라서 일부러 마지막에 join으로 띄어쓰기 해주는 것 같다. Question 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. Point 단어만 저장하고 return 할 때 ' '.join(result) 사용해서 붙임. Code def solution(s): result = [] for word in s.split(' '): new_word = '' for idx,w in en..
sub query를 from에 넣었다가 group by로 묶이는 결과 때문에 골치 아팠다.. 끄악where 절 서브쿼리를 사용해서 IN 을 사용하니 AND 구문으로 날짜 비교를 두 번 해야하는게 마음엔 안 들었지만..! 이렇게 풀면 총 5번 이상 대여한 차의 각각 월별 대여 횟수를 출력할 수 있다 ! Question CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬..
한 ID에 대해서 대여중/대여 가능이 여러 개 나올 때 날짜 비교 후 MAX( ) = 1를 통해서 대여중이 있는지 확인하는 코드이다.MAX ( '날짜' BETWEEN A AND B ) = 1 로 간단하게 풀 수 있어서 좋다 ! Question CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세..
보통 최대공약수 구하기 하면 Recursion function을 사용하는데 for 문을 통해 쉽게 구하는 코드이다 ! Question 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. Point NOT recursion functionthe greatest common divisorthe least common multiple 공식 : (n*m) // gcd Code def solution(n, m): gcd = 1 for i ..
numpy array로 변환하여 연산하면 단순 덧셈으로 행렬 간의 덧셈이 가능하다 ! Question 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. Point numpy array 사용이중 for문 사용 Code 1 : numpy 사용 import numpy as npdef solution(arr1, arr2): answer = np.array(arr1)+np.array(arr2) return answer.tolist() Code 2 : 이중 for문 사용 def solution(arr1, arr2): answer =..
isdigit()로 숫자인지 확인 하기 !! 따흑 알던 코드였는데 존재를 잠깐 잊고 있었다..!!그리고 in (4,6) 쓰는게 SQL where 절에서의 활용과 같아서 하나 더 배울 수 있는 좋은 문제다 ㅎㅎ !! Question 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. Point len(s) in (4,6) 으로 s의 길이가 4 혹은 6인지 판별. [4,6] 도 가능.isdigit() Code def solution(s): return True if len(s) in (4,6) and s.isdigit() else False now ..
SUBSTR( ) 사용. 전화번호에 하이픈 추가하는 코드가 포함되어 있다. Question USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID를 기준으로 내림차순 정렬해주세요. Point CONCAT()SUBSTR( TLNO, 1, 3 ) index 1부터 시작해서 문자 3개 출력 Code SELECT USER_ID, NICKNAME, CONCAT(CI..