본문 바로가기

TIL

240701 TIL

오늘의 계혹

10:00~10:30 오전 스크럼

10:30~12:00 SQL카타, 코드카타

13:00~18:00 ADsP 강의 수강

19:00~20:00 지난주 파이썬 문제 공부, SQL라이브세션 과제 제출

20:00~20:30 오후 스크럼

20:30~21:00 마감


 

41. 조건에 맞는 도서 리스트 출력하기

SELECT  book_id as 'BOOK_ID',
        date_format(published_date,'%Y-%m-%d') as 'PUBLISHED_DATE'
from BOOK
where date_format(published_date,'%Y') = '2021'
and category='인문'
order by published_date

 

 

SQL에서 데이트 형식을 변경 할때는 date_format(컬럼, 형식) 을 사용한다. 형식의 경우는 '%Y-%m-%d' 형식을 사용하며 대소문자에 따라 출력 되는 형식이 다르다.

 

42.평균 일일 대여 요금 구하기

 

SELECT round(avg(daily_fee),0) as 'AVERAGE_FEE'
from CAR_RENTAL_COMPANY_CAR
where car_type='SUV'
group by car_type

 


소수점 반올림 하는 함수 round(숫자, 자리수)

0: 소수점 모두 반올림, 1: 소수 첫째자리 살림 2:소수 둘째짜리 살림


 

알고리즘 카타에서 '이상한문자 만들기'에서 시간을 다 보내 버렸다.

 

def solution(s):
    answer=''
    answer1=''
    s1=s.split(' ')
    for i in range(0,len(s1)):      #단어별로 for 문 돌린다
        s2=s1[i]
        for j in range(0,len(s2)):  #단어내에서 for 문 돌린다
            if j%2==0:              #짝수
                large=s2[j].upper() #단어내 짝수 대문자 처리
                answer1=answer1+large
            else:                   #홀수
                lower=s2[j].lower() #단어내 홀수 소문자 처리
                answer1=answer1+lower
        answer1 = answer1 + ' '
    return answer1[0:-1]


파이썬에서 알파벳을 대문자 소문자로 변경 하는 방법
전체 문자열에서 생각했기 때문에 틀림. 각 단어를 기준으로 홀짝을 정해야됨 그러면 각 단어를 분리 해내는 방법이 뭘까
split() 를 쓰면 공백 기준으로 리스트를 만들수 있는데 리스크 원소 개수 구하는 방법 - len()
오른쪽 공백제거 string.rstrip()

 

오른쪽 공백제거로 하니 오류가 난듯 보였고 split() 과 split(' ') 이 다르다는걸 알았다.

 

혹시나해서 Chatgpt한테 물어봤는데 오히려 더 모르겠는 답변을 주었으나 돌아가니 신기하기만 하다.

def solution(s):
    words = s.split()
    transformed_words = []

    for word in words:
        transformed_word = ''
        for i, char in enumerate(word):
            if i % 2 == 0:
                transformed_word += char.upper()  # 짝수 인덱스: 대문자
            else:
                transformed_word += char.lower()  # 홀수 인덱스: 소문자
        transformed_words.append(transformed_word)

    return ' '.join(transformed_words)  # 단어를 공백으로 구분하여 결합