46일차

Suhyeon Lee·2024년 12월 4일

CodeKata

SQL

148. Type of Triangle

  • 작성한 쿼리
SELECT
  CASE
    WHEN A=B AND B=C THEN 'Equilateral'
    WHEN (A>=B+C) OR (B>=A+C) OR (C>=A+B) THEN 'Not A Triangle'
    WHEN (A=B) OR (A=C) OR (B=C) THEN 'Isosceles'
    ELSE 'Scalene'
  END
FROM
  triangles
;

→ CASE WHEN 의 조건은 순서대로 진행되므로 어떤 조건이 먼저 와야하는지 생각해야 함!

149. The PADS

  • 작성한 쿼리
SELECT
  CONCAT(name,'(',LEFT(occupation,1),')')
FROM
  occupations
ORDER BY
  name
;

SELECT
  CONCAT('There are a total of ', COUNT(occupation), ' ', LOWER(occupation), 's.')
FROM
  occupations
GROUP BY
  occupation
ORDER BY
  COUNT(occupation)
  , occupation
;

Python

59. 덧칠하기

  • 작성한 코드
def solution(n, m, section):
    answer = 0
    paint = 0
    for i in section:
        if i > paint:
            paint = i+m-1
            answer += 1
    return answer

참고할 만한 다른 풀이

def solution(n, m, section):
    answer = 1
    prev = section[0]
    for sec in section:
        if sec - prev >= m:
            prev = sec
            answer += 1

    return answer
def solution(n, m, section):
    answer = 1 # 칠하는 횟수
    paint = section[0] # 덧칠 시작점
    for i in range(1, len(section)):
        if section[i] - paint >= m:
            answer += 1
            paint = section[i]
            
    return answer
  • 덧칠을 해야하는 구간인 section 요소들 간의 범위로 접근
    • 덧칠 시작점 paintsection[0]으로 정해놓고 for문을 통해 paintsection[i] 간의 간격 구하기
    • 롤러의 길이 m=4이면, 1, 2, 3, 4를 1번의 칠로 덧칠할 수 있으므로 1번의 칠로 가능한 범위는 4-1=3이므로 m-1
      • m-1까지 1번으로 가능하므로 m부터는 2번이 되는 것
    • 따라서 section[i]-paint가 m이상이면 answer+1
  • 다음 칠 구간을 찾기 위해 section[i]를 paint 시작점으로 바꾸고 다시 범위를 찾는 과정인 for문을 반복

팀 프로젝트

geopandas
geopandas (2)
중복값 확인 및 처리
데이터의 정규화 또는 표준화가 필요한 이유
왜도와 첨도 구하기 & 로그변환
다중회귀 vs 다항회귀

회고

  • 세상에 너무 많은 일들이 있었어 놀랍다 진짜
profile
2 B R 0 2 B

0개의 댓글