36일차

Suhyeon Lee·2024년 11월 20일

CodeKata

SQL

108. Triangle Judgement

  • 작성한 쿼리
SELECT
  *
  , IF(x+y>z AND y+z>x AND x+z>y, "Yes", "No") AS triangle
FROM
  Triangle
;

참고할 만한 다른 풀이

  • CASE WHEN
SELECT x,y,z, (CASE WHEN (x + y > z AND y + z > x AND z + x > y) THEN 'Yes' ELSE 'No' END) AS triangle
FROM Triangle
SELECT x,y,z,
CASE 
WHEN x+y <= z THEN 'No'
WHEN z+y <= x THEN 'No'
WHEN x+z <= y THEN 'No'
ELSE 'Yes' END AS triangle
FROM Triangle

Python

45. 시저 암호

  • 작성한 코드
def solution(s, n):
    answer = ''
    for i in s:
        if i != ' ':
            if i.isupper():
                answer += chr((ord(i)-ord('A')+n)%26+ord('A'))
            else:
                answer += chr((ord(i)-ord('a')+n)%26+ord('a'))
        else:
            answer += ' '
    return answer

% 26 이유
i가 X, n이 5라고 가정할 때
X의 아스키코드 - A의 아스키코드 + n
90 - 65 + 5 = 25 + 5 = 30
30은 알파벳 26글자를 넘어가는 숫자
따라서 30%26을 하면 나머지가 4이고, 이를 A에 더하면 E가 됨

참고할 만한 다른 풀이

  • isupper(), islower(), chr(), ord(), list 활용
def solution(s, n):
    s = list(s)
    for i in range(len(s)):
        if s[i].isupper():
            s[i]=chr((ord(s[i])-ord('A')+ n)%26+ord('A'))
        elif s[i].islower():
            s[i]=chr((ord(s[i])-ord('a')+ n)%26+ord('a'))

    return "".join(s)
  • 문자열 미리 정의하고 풀기
def caesar(s, n):
    lower_list = "abcdefghijklmnopqrstuvwxyz"
    upper_list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    result = []

    for i in s:
        if i is " ":
            result.append(" ")
        elif i.islower() is True:
            new_ = lower_list.find(i) + n
            result.append(lower_list[new_ % 26])
        else:
            new_ = upper_list.find(i) + n
            result.append(upper_list[new_ % 26])
    return "".join(result)
  • 부등호
def solution(s, n):
    answer = ''
    for i in s:
        if i:
            if i >= 'A' and i <= 'Z':
                answer += chr((ord(i) - ord('A') + n) % 26 + ord('A'))
            elif i >= 'a' and i <= 'z':
                answer += chr((ord(i) - ord('a') + n) % 26 + ord('a'))
            else : answer += ' '
    return answer

라이브 세션

통계야 놀자 5회차

파이썬 심화반

4회차

머신러닝 심화

1주차

회고

  • 팀원들과 많은 이야기를 나눌 수 있어 기쁘다!
  • 내일부터는 라이브 세션에 머신러닝이 추가되니 공부 시간 분배를 잘 해야겠다.
profile
2 B R 0 2 B

0개의 댓글