[Python 프로그래머스] 직사각형 별찍기 [문제][해결]a, b = map(int, input().strip().split(' '))for i in range(b): print(a*"*")[정리 및 새롭게 알게 된 점]위 문제를 for loop을 쓰지않고 해결한다면 아래와 같은 방법으로도 문제를 해결할 수 있다. a, b = map(int, input().strip().split(' '))answer = (a*"*"+"\n")*b print(answer) Coding Test 2024.06.26
[SQL 프로그래머스] 조건별로 분류하여 주문상태 출력하기 [문제][해결]SELECT order_id, product_id, date_format(out_date,"%Y-%m-%d"),case when date_format(out_date,"%Y-%m-%d") '2022-05-01' then '출고대기' else '출고미정' end '출고여부'from food_orderorder by order_id[정리 및 새롭게 알게 된 점]1. Case when 문을 사용하여 조건들을 나열할 때에 날짜 비교시 date_format()함수를 써 date자료형과 varchar자료형을 비교하였다.2. date_format() 함수를 써 date자료형의 형식을 "%Y-%m-%d" 형식으로 바꾸어 주었다. Coding Test 2024.06.26
[Python 프로그래머스] 행렬의 덧셈 [문제][해결]def solution(arr1, arr2): result = [] for x, y in zip(arr1, arr2): sum = [] for a, b in zip(x,y): sum.append(a+b) result.append(sum) return result[정리 및 새롭게 알게 된 점]먼저 zip함수를 통해 모든 행과 열이 들어있는 리스트를 반복문을 돌리고 각 행열 원소를 추출하였다. 그런 다음, 리스트를 담는 새로운 변수 sum을 만들고, 다시한번 zip함수를 사용하여 각 원소의 행과 열을 추출하는 반복문을 돌렸다. 그 후, 추출된 행과 열의 원소를 각각 더하고 sum변수에 append 시켜 새로운 행열원소 합.. Coding Test 2024.06.25
[SQL 프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기 [문제][해결]SELECT book_id,author_name, date_format(published_date, "%Y-%m-%d")from book b join author a on b.author_id = a.author_idwhere b.category = "경제"order by published_date[정리 및 새롭게 알게 된 점]먼저 author 테이블과 book 테이블을 uthor_id를 기준으로 inner join 한 다음 category가 "경제"인 부분만을 where절로 제한시키고 published_date 열은 date_format() 함수를 통해 "%Y-%m-%d" 형태로 나타내었다. 마지막으로 published_date를 기준으로 오름차순 정렬하여 문제를 해결하였다. Coding Test 2024.06.25
[Python 프로그래머스] 문자열 다루기 기본 [문제][해결]def solution(s): if (len(s) == 4 or len(s) == 6) and s.isdigit(): return True else: return False[정리 및 새롭게 알게 된 점]len()함수를 통해 s의 길이를 확인하고 isdigit()함수를 통해 s가 정수인지 확인하였다. Coding Test 2024.06.25
[SQL] 보호소에서 중성화한 동물 [문제][해결]SELECT ai.animal_id, ai.animal_type, ai.namefrom animal_ins ai join animal_outs ao on ai.animal_id = ao.animal_idwhere ai.sex_upon_intake like "intact%" and (ao.sex_upon_outcome like "Neutered%" or ao.sex_upon_outcome like "Spayed%")[정리 및 새롭게 알게 된 점]1. join on 절을 통해 animal_id를 기준으로 animal_ins 테이블과 animal_outs 테이블을 조인하였고 2. where 절에서 like 절을 통해 sex_upon_intake가 intake로 시작하는 행과 sex_upon_ou.. Coding Test 2024.06.25
[SQL 프로그래머스] 상품 별 오프라인 매출 구하기 [문제][해결]SELECT product_code, sum(SALES_AMOUNT*PRICE) as SALESfrom PRODUCTinner join OFFLINE_SALE USING(product_id)group by product_codeorder by SALES DESC, PRODUCT_CODE ASC;[정리 및 새롭게 알게 된 점]1. 먼저 product 테이블과 offline_sale 테이블을 product_id 기준으로 조인한 다음2. group by 절로 product_code 기준으로 그룹을 묶어주고,3. product_code와 sum(sales_amount*price)를 select 하였다.4. 마지막으로 sales를 기준으로 내림차순, product_code를 기준으로 오름차순 정렬하.. Coding Test 2024.06.21
[Python 프로그래머스] 약수의 개수와 덧셈 [문제][해결]def solution(left, right): answer = 0 for i in range(left,right+1): count = 0 for n in range(1,i+1): if i % n == 0: count +=1 if count % 2 ==0: answer += i else: answer -= i return answer[정리 및 새롭게 알게 된 점]1. 첫번째 loop에서는 left부터 right까지의 수를 추출하였고 두번째 loop에서는 각각의 추출된 i에 대해 해당 약수의 개수를 구하는 for loop를 돌려 약수의 개수를.. Coding Test 2024.06.21
[SQL 프로그래머스] 카테고리 별 도서 판매량 집계하기 [문제][해결]SELECT b.category, sum(bs.sales) TOTAL_SALESfrom book b join book_sales bs on b.book_id = bs.book_idwhere year(bs.sales_date) = 2022 and month(bs.sales_date) = 1group by 1order by 1[정리 및 새롭게 알게 된 점]1. Where 절 안에서 year함수와 month함수를 통해 sales_date가 2022년 1월인 도서판매량을 추출하였고,2. join 을 통해 book 테이블과 book_sales 테이블을 조인한다음3. 카테고리별 도서 판매량 합산(sum(bs.sales)을 select하였다. Coding Test 2024.06.20
[Python 프로그래머스] 내적 [문제][해결]def solution(a, b): answer = sum(x*y for x,y in zip(a,b)) return answer[정리 및 새롭게 알게 된 점]zip함수를 써 a와 b 리스트를 동시에 반복시키고 추출된 x와 y를 곱한 후 sum함수를 통해 x*y들을 모두 더하였다. Coding Test 2024.06.20