KATA#47

codataffee·2024년 5월 29일
0

CODEKATA

목록 보기
47/114
post-thumbnail

WHAT IS KATA?

KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.

이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.


- SQL


✔️ 문제 #1: Delete Duplicate Emails

✔️ 제출 쿼리

✔️ 쿼리 분석

DELETE p1
FROM Person p1, Person p2
WHERE p1.id > p2.id
      AND p2.email = p1.email


- PYTHON


✔️ 문제 #1: 바탕화면 정리

✔️ 제출 코드

✔️ 코드 분석

def solution(wallpaper):
    # 파일의 위치를 담을 리스트 생성
    # filex = 가로, filey = 세로
    filex = []
    filey = []
    # 이중 반복문을 활용해 wallpaper 배열을 가로, 세로로 인덱싱
    for y, row in enumerate(wallpaper):
        for x, i in enumerate(row):
            # "#" 파일이 나오면 해당 위치 (x, y) 추가
            if i == "#":
                filex.append(x)
                filey.append(y)
    # 왼쪽 위에서 오른쪽 아래로 드래그하기 때문에,
    # (y 최소값, x 최소값), (y 최대값, x 최대값) 
    # (맨위, 맨 왼쪽), (맨 아래, 맨 오른쪽)
    return [min(filey), min(filex), max(filey) + 1, max(filex) + 1]


✔️ CHECK POINT

  • SQL
    • DELETE 함수를 사용하면 조건에 해당하는 값들을 제거하고 바로 출력이 된다?!
    • 테이블을 셀프조인하여 원하는 조건을 지정하고 한 테이블을 정해서 DELETE !
  • PYTHON
    • 문제를 읽고 코드로 구현해내는 능력이 많이 부족한 것 같다..
      몇번을 풀어도 해결되지 않다가.. 힌트 한 번 보고 바로 이해가 되던 문제..ㅠㅠ
      상상력의 문제인가 ㅋㅋ

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보