본문 바로가기

IT To do and To was

22년 11월 3일_오늘도 아자아자

728x90
반응형

목요일[이렇게 빠르게 시간이 갈 줄이야]

 

오늘 그렇게 미루고 미뤘던 병원을 갔다. 뜯어내고 안좋으면 들어내야한다고 하는데.. 너무 무습다..

싫어.. 다음 주에 한번 보고.. 그 때 정해보자

 

오늘 밤에 필름 결과가 나오는데, 설렌다..!ㅎㅎㅎ_ㅋㅋㅋ 대실패...!!ㅜㅜ

 

1. SQL

2. 알고리즘

 

1>

내가 프로그래머스 Lv2까지 끝내라고 써놨네..ㅎ

박하률이 하라면..해야지..ㅎㅋㅋ..

 

날짜를 비교할 때는 DATE_FORMAT을 이용해서 =를 사용하면 된다

 

예시 ) 

SELECT MCDP_CD AS '진료과코드', COUNT(APNT_YMD) AS '5월예약건수' 
FROM APPOINTMENT
WHERE date_format(APNT_YMD , '%Y-%m') = '2022-05'
ORDER BY 5월예약건수, 진료과코드

 

GROUP BY를 할 때 계산할 때는 그냥 * 하는게 아니라 값을 생각해서 SUM을 해야함..!

 

SELECT P.PRODUCT_CODE, (P.PRICE * SUM(O.SALES_AMOUNT)) AS SALES
FROM PRODUCT P
JOIN OFFLINE_SALE O
ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_ID
ORDER BY SALES DESC, PRODUCT_CODE ASC

 

 

MYSQL CASE 예시 )

SELECT (CASE 
        WHEN PRICE < 10000 THEN 0 
        ELSE TRUNCATE(PRICE, -4)
        END
        )AS PRICE_GROUP, COUNT(PRODUCT_CODE) AS PRODUTS 
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP

 

중복 LIKE가 불편할 때

 

SELECT      `ANIMAL_ID`, `NAME`, `SEX_UPON_INTAKE`
FROM        `ANIMAL_INS`
WHERE       `NAME` IN (
                "Lucy", "Ella", "Pickle",
                "Rogan", "Sabrina", "Mitty"
            )
ORDER BY    `ANIMAL_ID`

해당 코드 처럼 IN을 사용하면 조금 더 간편하게 사용할 수 있다. 

 

앞글자만 판별할 경우도 

SUBSTR를 사용

SUBSTR(컬럼명, 읽을숫자, 읽을 마지막숫자)

예시 )

SELECT (SUBSTR(PRODUCT_CODE,1,2)
       ) AS CATEGORY, COUNT(PRODUCT_CODE) AS PRODUCTS FROM PRODUCT
GROUP BY CATEGORY
ORDER BY PRODUCT_CODE

 

날짜 비교 예시 )

SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, "%Y-%m-%d") AS DATE_OF_BIRTH FROM MEMBER_PROFILE
WHERE DATE_FORMAT(DATE_OF_BIRTH, '%m') = '03' AND TLNO IS NOT NULL
ORDER BY MEMBER_ID

 

그리고 NULL은 안보이게 할 때 

컬럼명 != NULL 은 안되더라 

컬럼명 IS NOT NULL로 해야함!

 

데이터를 읽어서 값 뽑기

예시 )

SELECT ANIMAL_ID, NAME, (CASE
       WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
       WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
                         ELSE 'X'
       END) AS 중성화 FROM ANIMAL_INS

 

어제 https://velog.io/@sheltonwon/SQL%EC%97%B0%EC%8A%B5-%EA%B7%B8%EB%A3%B9%EB%B3%84-%EC%A1%B0%EA%B1%B4%EC%97%90-%EB%A7%9E%EB%8A%94-%EC%8B%9D%EB%8B%B9-%EB%AA%A9%EB%A1%9D-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0

 

[SQL연습] 그룹별 조건에 맞는 식당 목록 출력하기 - 프로그래머스

(프로그래머스) 그룹별 조건에 맞는 식당 목록 출력하기

velog.io

 

이걸 풀다가 때려치고 오늘 보려고 했는데.. 이해가안된다.. 후에 내가 보고 이해하길.....

 

2> 알고리즘

 

인턴 코딩테스트 지원하시느분은 3LV은 그냥 풀어야한다는데.. 나는..그러지 못하는 거같당... 시무룩.. 그래도 이번 계기로 많이 배우고 알게된것도 많다(?) 달리면 답은 나올 거다.

 

바로 3lv를 하고 싶은데.. 어제의 내가 업코드 100제부터 끝내라고 해서.. 그거부터 하고 내일 속도를 내도록 하겠다..!

 

10진수를 받아서 16진수로 출력하려하면

print('%x'%변수명)  

 

%x = 16진수 

%X = 16진수 (대문자로)

%o = 8진수

ord() = 입력받은 문자를 10진수 유니코드 값으로 변환

 

16진수로 받았을 경우

int(변수명,16) - 진수 수를 기입하면 된다.

 

10진수 정수를 유니코드 문자로 출력할 때

chr(변수명)을 사용하면 된다.

예시 )

n = int(input())

print(chr(n))

 

문자를 숫자를 바꿀  ord()

숫자를 문자로 바꿀 때 chr()

 

인풋을 2번 받고 하나는 내가 반복할 텍스트, 하나는 반복횟수라하면

n,m = input().split()
print(n*int(m))

이렇게 간단히 2줄로 가능하다

 

실수를 받고 소수점 둘째 자리까지 보이게 하는 방법

format(변수이름, ".2f)

 

예시 )

a=input()
a=float(a)
print( format(a, ".2f") )

 

단지 비교 후 boolean값을 가지고 오고싶을 땐

 

print(a<b)를 하면 참일 경우 True가 반환된다.

 

들어온 값이 boolean 값인지 확인하고 싶으면

 

print(bool(확인하고 싶은 값))을 넣으면

 

T/F중 하나로 나온다.

 

알파벳 하나를 받고,

n = input()
n = ord(n)
a = ord('a')

while a <= n:
    print(chr(a), end='')
    a += 1

 

독자를 위한 숙제 ----

n = int(input())
pand = 0
for i in range(n+1):
    pand += i 
    if pand >= n :
        print(i)
        break

 

위에 코드는 어떤 코드일까~욥

pand은 그냥 제가 쓴 변수 이름입니다. 힌트가 되지 않습니다..풉

 

댓글로 정답을 맞추신 분께는 소정의 상품을 드리겠씁니다><

 

음 코드업을 계속 하고있는데, 느끼는 것이 있다. 확실히 기초가 튼튼하지 않다는것..

 

내가 기초코드를 계속 풀다가 막히는게 없고 시간이 아깝다고 느끼면 바로 프로그래머스를 풀테지만,

그게 아니다.

아직 모르는게 많다.

 

그래서 이번 주 토요일에 있는 코딩테스트는 마음을 좀 내려놔야할 거같다. 아직 실력이 못미치는 거 같기도 하고, 기대를 하면 실망하기 마련이기에. 나는 실망을 하기 싫기 때문이다.

 

조금 더 준비하자. 깔끔하게 25살에 입사하는거 나쁘지 않다..!

 

나는 코딩테스트를 보는 회사를 들어가고 싶다. 들어가기 어려워야 배울 것이 더 많이 있을 거라고 믿어 의심치 않는다.

 

그건 지키고 싶다.

 

 

후우 최대한 다 하려고 했는데 코드업 80문제까지밖에 못풀었다.. 거뜬할 줄 알았는데..

 

내일은 조금 더 일찍 와서 sql비중보다 python비중을 더 늘려야겠다.

 

// yesterday wished to today list

. 도서관 가서 딴짓 많이 자제하기_아예 안함

. 재미 느끼기_음 살짝 X치긴했는데 괜찮았음

. 긍정적으로 생각하기_조금씩 부드럽게 말하는 법에 대해서 배우고 알고 그렇게 해나가고 있다.

. 헤드셋 충전기 챙기기_챙겼음_안챙겼으면 클랄뻔~풉 

 

tomorrow wish list

. 알고리즘 Lv2문제 많이 만지고 이해하기

. 아쉬움 없이 해보기

. 도서관 가서 딴짓 많이 자제하기

. 긍정적으로 생각하고 일관된 성격 내포하기

. 너무 많은 스트레스는 받지 않기

728x90
반응형