전체 글 230

x만큼 간격이 있는 n개의 숫자 # range()

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. def solution(x, n): answer = [] for i in range(1,n+1): answer.append(x*i) return answer answer = [] # 리스트 생성 for i in range(1,n+1) # 자연수이기 때문에 1부터 시작해서 n 까지 증가하는 수를 범위에 둔 매개변수 i를 반복실행 answer.append(x*i) # x 부터 시작해서 n 번, x씩 증가하는 숫자 ' x * i ' 를 리스트에 추가 * 자연수 : 1부터 시작하는 양의 정수 Q. x..

나머지가 1이 되는 수 찾기 # range()

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. def solution(n): for x in range(2,n+1): if n%x==1: return x # 나머지가 1이 되어야 하니까 답이 될 수 있는 가장 작은 수인 2부터 n 까지의 범위 나머지가 1이 나오는 x 값을 출력 Q. 다른 풀이를 보니 range(2, n) 으로 하는데 왜일까? A. x 가 n 을 나눴을 때 1이 나오는 값을 찾아야하는데, n % n = 0 이기 때문에 x 값의 범위를 n-1 까지의 범위를 주는 것 * if 문에서 나머지가 1인 경우에만 범위를 찾기 때문에 n 이어도 어차..

진료과별 총 예약 횟수 출력하기 # MONTH()

PPOINTMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/132202#qna # 내가 작성한 쿼리 SELECT mcdp_cd AS "진료과 코드" , COUNT(apnt_no) AS "5월예약건수" FROM appointment WHERE DATE_FORMAT(apnt_ymd, '%Y-%m') = '2022-05' GROUP BY 1 ORDER BY..

SQL 코드카타 2024.03.28

입양 시각 구하기(1) # HOUR()

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. # 내가 작성한 쿼리 SELECT DATE_FORMAT(datetime, '%H') "HOUR" , COUNT(*) COUNT FROM animal_outs WHERE DATE_FORMAT(datetime, '%H') BETWEEN 09 AND 19 GROUP BY 1 ORDER BY 1 # 다른 풀이 방식 SELECT HOUR(datetime) AS HOUR, COUNT(*) AS COUNT FROM animal_outs WHERE HOUR(datetime) BETWEEN 9 AND..

SQL 코드카타 2024.03.28

약수의 합 # range(1,n+1) , append()

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. def solution(n): result = [] # 리스트 생성 for i in range(1,n+1): # 약수를 찾을 범위 구하기 if (n % i == 0): # 범위내의 숫자로 자기자신을 나누어 떨어지거나 0이 되면 약수 result.append(i) # 약수를 리스트에 추가 return sum(result) # 구해진 약수를 합해준다 # range(1,n+1) : 약수는 1과 자신을 포함한다. : 1부터 n까지 범위 구하기 : range 가 실행될 때마다 i 에 저장 n % i == 0 : 정수 n 을 i 로 나누어 0으로 떨어지는게 조건(약수) append() : 리스트의 끝에 새로운 요소 추가..

2024-03-27

sum() 함수 : 리스트, 튜플, 딕셔너리를 인자로 받아 값을 모두 더해준다. : 원소의 합 len() 함수 : 리스트, 튜플, 문자열 등 다양한 객체의 '길이' 를 반환 : 원소의 수 def solution(num): return "Even" if num%2==0 else "Odd" # 삼항연산자 (참일 때 값) if (조건) else (거짓일 때 값) def evenOrOdd(num): if num%2: return "Odd" return "Even" # 숫자 0은 False 로 인식 한다. ' if num%2: ' 는 False 로 "Odd" 를 출력 그 외에는 "Even" 짝수를 구할 때 number % 2 == 0 으로 하면서 2로 나눴을때 0인 경우로만 if 함수를 사용했었는데 파이썬에서는 ..

TIL 2024.03.27

자릿수 더하기 # 문자열 str

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. def solution(n): result = 0 for i in str(n): result += int(i) return result # N 이 123 일 경우 1,2,3 으로 나눠줘야하기 때문에 문자열 (str) 로 바꿔준다 문자열로 바뀐 N 을 각각 더해줘야 하기 때문에 숫자형(int) 로 변환 숫자형으로 변환된 N 을 result 에 더해주는 것을 반복한다.