본문 바로가기

분류 전체보기

(91)
240625-(S) 37.조건에 맞는 도서와 저자 리스트 출력 우선 각 데이터베이스가 어떤식으로 구성 되어 있는지 확인SELECT *FROM BOOK SELECT *FROM AUTHOR 데이터의 개수 자체가 BOOK 테이블이 더 많고 두 테이블간의 공통 key 는 author_id 를 사용하면 되겠다.FROM BOOK b left join AUTHOR a on b.author_id=a.author_id 원하는 항목들이 도서 ID, 저자명, 출판일 이므로 각 컬럼이 존재하는 DB를 파악해서 코드를 작성하면 되겠다.b.book_id,a.author_name,b.published_date 카테고리의 조건이 경제라고 했으니 이 조건을 걸어준다WHERE b.category like '%경제%' 출판일 기준으로 오름차순 정리ORDER BY 3 or ORDER BY b.pub..
240624-(S) 36.보호소에서 중성화 한 동물 처음에 접근 했을때는 보호소에 들어올때 중성화 안된 동물들을 선택한 DB를 만들고 이것을 서브쿼리로 처리하여 보호소를 나갈 당시 중성화된 동물 DB와 JOIN 하는 형태로 문제를 해결 하고자 접근 했었다.SELECT *(SELECT *FROM ANIMAL_INSWHERE SEX_UPON_UINTAKE like 'INTACT%') aFROM a left join ANIMAL_OUTS o on a.ANIMAL_ID=o.ANIMAL_ID  그런데, 안돌아가는거다. 왜 안돌아가는지 몰라서 그냥 접근을 다시 해봤다. DB끼리 join 을 하고 조건을 통해서 구분하기로 SELECT a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAMEFROM ANIMAL_INS a left joi..
240624-(P) 33.약수의 개수와 덧셈 / 35.부족한 금액 계산하기 / 36.문자열 다루기 기본 33.약수의 개수와 덧셈  첫번째 작성 했던 코드def solution(left, right): for i in range(left,right+1): answer=0 num_a=0 for n in range(1,i): if i%n==0: num_a=num_a+1 else: num_a=num_a if num_a%2==0: answer=answer+n else: answer=answer-n return answer  원하는 결과 안나옴. 아무리 고민..
[아티클스터디] SQL 가독성을 높이는 다섯 가지 사소한 습관 원문https://yozm.wishket.com/magazine/detail/1519/ SQL 가독성을 높이는 다섯 가지 사소한 습관 | 요즘IT지독하게 읽기 힘든 SQL 문을 해석해 본 적 있으신가요? 마치 암호를 읽는 것처럼 어렵습니다. 파이선처럼 들여쓰기와 띄어쓰기를 문법적으로 강제하는 언어를 사용해 봤다면 SQL의 자유로움에yozm.wishket.com  아티클 요약 언어란 나 혼자만 사용하는것이 아닌 나 아닌 다른 누구가와 의사소통을 하기 위한 수단이다. 한국어, 영어, 일본어, 중국어 등 그 언어를 사용하는 사람과 소통을 가능하게 하는것이 언어이다. SQL은 데이터베이스에서 사용하는 하는 언어로써 SQL의 쿼리문은 나 혼자만 보는 경우도 있으나, 대부분 다른 누군가와의 소통의 역할을 한다. 그..
변수를 선언했으면 저장(대입) 해야 한다. def solution(s): answer=''.join(sorted(list(s),reverse=True)) return answer#질문a='Zbcdegf'print(list(a))list(a).sort(reverse=True)print(list(a).sort(reverse=True))print(list(a))b='Zbcdegf'list_b=list(b).sort(reverse=False) 기존에 이부분에서 별도로 list_b 지정을 안하면 sort 된게 구천을 떠돌고 있어서 반영이 안됨print(list_b)print(sorted(list(a),reverse=True))print(sorted(list(a),reverse=False))
가운데 글자 가져오기-해결완료 def solution(s): answer = '' a=round(len(list(s))/2) if len(list(s))%2==0: answer=answer+(s[a-1:a+1]) else: answer=answer+(s[a]) return answer  뭐가 문제일까.. 기존에 주어진 answer='' 을 삭제하고round 대신에 몫을 반환하는 //를 활용하였더니 해결 되었다.def solution(s): a=len(s)//2 #기존의 round의 경우 0.5도 내림을 함 if len(s)%2==0: answer=s[a-1:a+1] else: answer=s[a] retu..
제일 작은 수 제거하기-해결 완료 def solution(arr): answer=[] if len(arr)>1: arr.sort(reverse=True) b=list(map(int,arr)) answer=b[:-1] else: answer.append(-1) return answer  어디가 틀렸는지 지금은 모르겠다....내일 다시 해보자   문제를 잘못 이해하고 있었다.주어진 값을 오름차순으로 정리하는게 아니라, 있는그대로에서 최소값을 제거하는것이었다.즉, sort 를 사용하면 안되는 문제였던것 def solution(arr): answer=[] a=arr.index(min(arr)) #최소값의 위치를 찾는다 if len(arr)>..
연습게임7) 랭크게임 하다가 싸워서 피드백 남겼어요… select *from practice7 p  테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!select *from practice7 porder by satisfaction_score desc 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!select name,max(feedback_date) 'feedback_date'from practice7 pgroup by name  테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요! select count(case when satisfaction_score=5 then 1 end) cntfrom practice7 p  테이블에서 가장 많은 피드백을 ..
연습문제6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?! select *,rank() over(order by rating desc) 'rank'from practice6  select *from practice6 porder by end_date desclimit 1 select *from practice6 porder by region, rating desc  select region,avg(rating)from practice6 pgroup by region
음양 더하기 def solution(absolutes,signs): answer=0 a=0 b=0 for i in range(0,len(absolutes)): if signs[i]==True: #부호가 양수이면 a=1 #+가 될수 있게 1로 주고 b=absolutes[i] #숫자 가져온 다음에 answer=answer+a*b #0에서 두개 곱해서 값을 만든후 더해 else: #부호가 음수이면 a=-1 ..