본문 바로가기

전체 글

(204)
SQL 코드카타 122 - Delete Duplicate Emails https://leetcode.com/problems/delete-duplicate-emails/ ColumnTypeidintemailvarchar Person 테이블:id : 테이블의 고유 키email : 이메일주소Person 테이블에서 이메일(email)이 중복된 경우 중 가장 작은 id를 가진 행을 남기고 나머지 중복 행들을 모두 삭제하는 문제입니다. 이를 SQL로 해결하는 DELETE 문장을 작성해야 합니다. delete p1from Person p1, Person p2 where p1.email = p2.email AND p1.id > p2.id delete 구문을 사용하는 것은 처음이었기때문에 많이 찾아보았다. delete는 일반적으로 where와 함께 사용된다.이번 문제에서 delete구문을..
알고리즘 코드카타 112 - 행렬 테두리 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명 rows x columns 크기인 행렬이 있습니다. 행렬에는 1부터 rows x columns까지의 숫자가 한 줄씩 순서대로 적혀있습니다. 이 행렬에서 직사각형 모양의 범위를 여러 번 선택해, 테두리 부분에 있는 숫자들을 시계방향으로 회전시키려 합니다. 각 회전은 (x1, y1, x2, y2)인 정수 4개로 표현하며, 그 의미는 다음과 같습니다. x1 행 y1 열부터 x2 행 y2 열까지의 ..
SQL 코드카타 111 - Last Person to Fit in the Bus https://leetcode.com/problems/last-person-to-fit-in-the-bus/description/ Column NameTypeperson_idintperson_namevarcharweightintturnint Queue 테이블:person_id : 테이블의 고유 키person_name : 버스를 기다리는 사람의 이름weight : 사람의 체중(kg)turn : 탑승순서1000킬로그램의 제한을 초과하지 않고 버스에 탈 수 있는 마지막 사람의 person_name을 찾는 해결책을 작성하세요. 테스트 케이스는 첫 번째 사람이 체중 제한을 초과하지 않는다는 조건으로 생성됩니다. select Turn, person_name, Weight, SUM(Weight)..
알고리즘 코드카타 111 - 무인도 여행 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명 메리는 여름을 맞아 무인도로 여행을 가기 위해 지도를 보고 있습니다. 지도에는 바다와 무인도들에 대한 정보가 표시돼 있습니다. 지도는 1 x 1크기의 사각형들로 이루어진 직사각형 격자 형태이며, 격자의 각 칸에는 'X' 또는 1에서 9 사이의 자연수가 적혀있습니다. 지도의 'X'는 바다를 나타내며, 숫자는 무인도를 나타냅니다. 이때, 상, 하, 좌, 우로 연결되는 땅들은 하나의 무인도를 이..
WIL - 이번주를 돌아보며... 본캠프 2주차가 끝이 났다. 저번주에는 막연하게 자만심이 있었는데 이번주에는 나 자신을 더 객관적으로 볼 수 있게 된 것같다. 비록 검색과 강의의 도움을 많이 받기는 했지만 데이터베이스의 구현에는 성공을 했다. 플라스크를 제대로 다뤄보지 못한것은 조금 아쉽지만 강의를 통해 어느정도 구현은 성공을 했기때문에 다음주중에 복습을 하면 좋을 것같다는 생각이 들었다. 마침 이번 팀 프로젝트에서 내가 맡은 파트는 모두 끝이 났다. 자바스크립트의 문법은 전보다는 익숙해졌다. 확실히 파이썬보다는 복잡했지만 이미 프로그래밍언어의 실행 알고리즘 자체는 어느정도 익숙한 부분이 있었기 때문에 코드를 작성하는 것 자체는 어렵지 않았다. 문제가 되는 부분은 자바스크립트와 파이썬간의 문법차이와 아직 자바스크립트의 함수들을 잘 모른..
팀 프로젝트 - 가위바위보게임 2 어제에 이어서 팀프로젝트 과제를 수행하기로 했다.  어제 작성한 부분중에 가장 부족했던 점은 데이터베이스에 입력되는 정보가 잘못되어 있었다는 것이다. 페이지에서는 컴퓨터와 사용자가 결정한 패와 결과를 출력하도록 했는데 데이터베이스에는 경기 결과를 입력하는 문제가 있었다.팀원들와 회의를하면서 데이터베이스의 값을 순회하면서 결과값을 출력하려고 했기 때문에 이 부분은 반드시 수정이 필요했다. class Stats(db.Model): __bind_key__ = 'second_db' matches = db.Column(db.Integer, primary_key=True) cpu = db.Column(db.String, nullable=False) user = db.Column(db.Strin..
SQL 코드카타 110 - Product Price at a Given Date https://leetcode.com/problems/product-price-at-a-given-date/description/ Column NameTypeproduct_idintnew_priceintchange_datedate Products 테이블:product_id : 제품의 idnew_price : 변경된 가격change_date : 변경된 날짜2019-08-16의 모든 제품의 가격을 찾는 솔루션을 작성하세요. 모든 제품의 초기 가격은 10이라고 가정하세요. select product_id, max(change_date) change_date from Productswhere change_date  가장 먼저 2019-08-16의 이전의 값들을 제거해준다. 그리고 값이 여러개라면 가장..
알고리즘 코드카타 110 - 두 큐 합 같게 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/118667?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나..