본문으로 바로가기

Daim's blog

네비게이션

  • 홈으로
  • 블로그소개
관리자
  • 블로그 이미지
    다임하게

    파이썬으로 다양한 알고리즘 문제를 풀고 정리하는 공간입니다 : )

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

MySQL 설치하고 실행하기 (on Mac)

공부한 내용을 기록하고 정리하기 위해서 글을 쓰고 있습니다. 부족한 내용은 지속적으로 추가, 수정될 수 있습니다. SQL 언어를 실습해보기 위해, Mac 운영체제에 MySQL을 설치하고 실행해보도록 하겠습니다. MySQL 설치하기 링크를 클릭하거나 오라클 사이트에서 MySQL을 설치하는 페이지에서 자신의 컴퓨터의 환경에 맞는 버전을 설치하도록 합니다. 저는 .dmg 파일로 설치하도록 하겠습니다. 필요하다면 오라클 계정을 생성해주세요. 오라클 계정은 이메일 주소가 이름이며, 비밀번호는 최소 하나 이상의 숫자와 대/소문자를 모두 가져야 합니다. 설치 도중 입력하는 root 비밀번호는 컴퓨터 로그인 시 입력하는 비밀번호를 입력하시면 됩니다. MySQL 터미널에서 실행 하기 실행 방법은 공식 페이지의 글을 참고..

Database/MySQL 2019. 3. 29. 19:00

데이터 베이스 관리 시스템(DBMS) - 필요성, 정의, 기능, 장점, 단점

공부하고 이해한 내용을 줄글로 요약 정리하고 있습니다. 부족한 내용은 지속적으로 추가, 수정될 수 있습니다. 데이터베이스 관리 시스템의 필요성 데이터베이스(Database)는 데이터들을 묶어둔 집합을 말합니다. 하나의 시스템에서 단 한명의 사용자가 데이터에 접근하여 조작한다면 문제가 생기지 않겠지만, 여러 응용 시스템에서 동시에 같은 데이터를 조작하기 위해 접근하게 된다면, 누군가가 중간에서 중재해주지 않는 이상 서로 다른 데이터를 가져가게 되는 경우가 발생할 수도 있습니다. 정확한 데이터를 바탕으로 서비스를 제공해야 하는 기업의 경우에는 매우 치명적인 단점이 될수 밖에 없습니다. 과거에는 데이터를 파일 형태로 저장하는 화일 시스템을 사용하였는데요. 각각의 프로그램별로 데이터 파일을 가지고 있다보니 데이..

Database/MySQL 2019. 3. 29. 17:00

Python으로 푸는 LeetCode 3. Longest Substring Without Repeating Characters (Medium)

LeetCode 3. Longest Substring Without Repeating Characters (Medium) 서로 다른 문자로 이루어진 가장 긴 문자열을 찾을 수 있도록 코드를 짜야한다. LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 github에서 코드 보기 문제 풀이 1 이하의 문자는 그 길이를 구해 반환해준다. 그 외에는 처음 문자부터 서로 다른 문자일 경우를 확인해서 count를 해준다. 이미 나왔던 문자일 경우를 찾아내는 방법은 다음과 같다. 처음 보는 문자일 경우 defaultdict()에 그 문자를 key로 하고 index를 값으로 하여 ch_dict에 값을 구해둔다. 만약 이미 나왔던 문자가 나왔을 경우에는 ch_dict를 뒤져보았을 때, 해당 문자를 ..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 28. 09:00

Python으로 푸는 LeetCode 2. Add Two Numbers

LeetCode 2. Add Two Numbers이 문제는 주어진 두 개의 Linked list를 사용해주어진 조건에 따라 새로운 Linked list를 만들어 반환하는 프로그램을 짜라.LeetCode에서 푼 문제 보기LeetCode에서 문제 보기github에서 코드 보기문제 조건문제 조건은 예시로 이해하는 편이 가장 좋다.Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 Explanation: 342 + 465 = 807.0으로 시작하는 수는 나오지 않는다. (ex) (2 -> 4 -> 0) X문제 풀이난 두 linked list를 각각 순회하여 수를 구한 다음, 더한 값을 뒤집어 Linked List로 표현하고 head를 반환하였다.linked Li..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 27. 10:00

Python으로 푸는 LeetCode 551. Student Attendance Record I (Easy)

LeetCode 551. Student Attendance Record I (Easy)입력받은 문자열에는 학생의 출석 점수가 적혀있다.주어진 조건에 따라서 학생이 출석 기록에 다라 보상을 받을 수 있는지 여부를 반환해야 한다.LeetCode에서 푼 문제 리스트 보기LeetCode에서 문제 보기github에서 코드보기문제 조건- 학생이 받을 수 있는 출석 점수는 다음 3가지 밖에 없다.'A' (absent), 'L' (Late), 'P' (Present) - 출석 기록에 둘 이상의 'A' 혹은 두 개 이상 연속으로 'L'이 있을 경우에는 보상을 받을 수 없다.문제 풀이주어진 문자열을 순회하여 'A'의 갯수가 2개 이상일 경우에는 바로 False를 반환한다.'L'의 경우에는 연속으로 3번 이상 나타날 경우에..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 26. 09:00

Python으로 푸는 백준 16235. 나무 재테크

백준 16235. 나무 재테크상도는 나무로 재테크를 하기 위해서 묘목을 심어 영양분을 공급하고 5년마다 번식시킨다.K년이 지난 후 땅에 살아있는 나무의 수가 얼마인지 계산하는 프로그램을 짜시오.백준에서 푼 문제 리스트 보기백준에서 문제 보기github에서 코드 보기문제 조건모든 땅에는 초기에 5만큼의 영양분이 공급되어 있다.봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 여름에는 봄에 영양분이 부족해서 먹지못한 나무가 죽어서 나이의 반만큼 (소수점은 버리고) 그 땅의 영양분이 된다.가을에는 5살 터울로 나무가 인접한 칸 8개의 위치에 1살짜리 나무로 번식한다.겨울에는 미리 입력받은 만큼 땅에 양분을 추가 공급해준다. (나무가 없는 땅에도 계속 공급해서 쌓아준다)문제 해결하기 - 예제 7..

온라인 코딩 테스트 문제 풀이/백준 문제 풀이 2019. 3. 25. 17:00

Python으로 푸는 LeetCode 189. Rotate Array

LeetCode 189. Rotate Array주어진 배열과 숫자 k를 활용하여배열을 k만큼 오른쪽으로 옮기는코드를 짜야한다.LeetCode에서 푼 문제 보기LeetCode에서 문제 보기github에서 코드보기문제 예제Input: [1,2,3,4,5,6,7] and k = 3 Output: [5,6,7,1,2,3,4]문제 풀이solution에도 잘 나와있지만, k 만큼 오른쪽으로 옮기는 것은 배열의 뒤에서 k만큼 자른 배열을 맨 앞에 이어붙이는 것과 같다.단, 문제에서 in-place 공간을 활용하여 문제를 풀도록 하였다. 단순하게 k만큼 뒤에서부터 2개씩 자리를 바꾸는 방식은 답은 나올 수 있어도 시간 초과가 발생한다.따라서 아래와 같이, 배열을 뒤집어 준다음에 배열의 앞에서 k만큼 뒤집고 그 나머지 ..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 24. 16:30

Python으로 푸는 LeetCode 24. Swap Nodes in Pairs

LeetCode 24.Swap Nodes in Pairs이 문제는 주어진 조건대로 링크드 리스트이 인접한 노드들을 서로 교환한 다음리스트의 head를 반환할 수 있도록 프로그램을 짜야한다.leetcode에서 푼 문제 보기leetcode에서 문제 보기github에서 코드 보기문제 조건다음과 같이 주어진 링크드 리스트를 2개씩 나눠, 서로의 자리를 교환해야 한다.Given 1->2->3->4, you should return the list as 2->1->4->3.문제 풀이순회를 시작하면서 이전노드와 다음 노드의 주소를 저장해두고, 순서에 맞게 차례대로 노드의 순서를 변경해야만 한다.문제를 풀때의 팁은, 미리 linked list의 data를 head부터 순서대로 출력해주는 헬퍼 함수를 만들어두며 테스트를..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 23. 21:30

python으로 푸는 백준 14890. 경사로

백준 14890. 경사로길을 지나갈 수 있으려면 길에 속한 모든 칸의 높이가 같거나, 높이 1짜리 경사로를 놓고 지나갈 수 있으면 된다.지도에서 지나갈 수 있는 길이 몇 개 있는지 알아보는 코드를 짜야한다.백준에서 푼 문제 리스트 보러가기백준에서 문제 보기github에서 코드 보기문제 조건경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야 한다.경사로를 높을 수 있는 높이의 차는 1이다.경사로를 높을 수 있는 낮은 칸의 높이는 모두 같아야 하고, L개의 칸이 연속되어 있어야 한다.문제에서 제시한 경사로를 높을 수 없는 경우를 잘 따져서 수를 세어야 한다.단, 내려가는 모양의 경사로와 올라가는 모양의 경사로가 하트 가운데 모양처럼 평지가 없이 서로 붙여두는건 가능하다. (문제에서 ..

온라인 코딩 테스트 문제 풀이/백준 문제 풀이 2019. 3. 22. 21:00

python으로 푸는 백준 15686. 치킨 배달

백준 15686. 치킨 배달사람들은 집에서 가장 가까운 거리의 치킨집을 이용한다고 한다.집에서 가장 가까운 치킨 집과의 거리를 치킨 거리라고 한다.주어진 치킨 집 중에서 M개만을 남기도 나머지를 폐업시키고자 할때,모든 집에서 가장 가까운 치킨 집과의 치킨 거리의 총 합이 가장 적은 최솟값을 출력하시오.백준에서 푼 문제 리스트 보기백준에서 문제 보기github에서 코드 보기 문제 조건치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다.도시의 치킨거리는 모든 집의 치킨 거리의 합을 말한다.치킨 거리는 적을 수록 좋다.모든 치킨집 중 M개를 제외한 치킨집을 폐쇄해야 한다.문제풀이폐쇄할 치킨집을 선택하고, 폐쇄할 치킨집에서 치킨을 시켜먹는 집들만, 폐업하지 않은 치킨집 중에 가장 가까운 치킨 거리를 구해주면 ..

온라인 코딩 테스트 문제 풀이/백준 문제 풀이 2019. 3. 21. 21:00

Python으로 푸는 LeetCode 121. Best Time to Buy and Sell Stock (Easy)

LeetCode 121. Best Time to Buy and Sell Stock (Easy)이 문제는 주어진 prices만큼 그날의 가격을 알 수 있다고 했을 때, 단 한번, 주식을 사고 단 한번 주식을 팔 수 있다고 했을 때최대 수익을 얼마를 얻을 수 있는지 반환하는 코드를 짜야한다.LeetCode에서 푼 문제 리스트 보기LeetCode에서 문제 보기github에서 코드 보기문제 풀이딱 한번 사고 팔 수 있기 때문에 가장 좋은 경우는 prices안에서 최소값의 index가 최대값의 index 보다 항상 작은 경우이다.하지만 그렇지 않은 경우일 확률이 더 높다. 그렇게 되면 반드시 최대값과 최소값의 차이가 최대 수익이 아닐 수도 있다.예를 들어보자,prices = [9,2,3,8,1,5]최대값은 9이고..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 20. 23:30

Python으로 푸는 LeetCode 860. lemonadeChange (Easy)

860. Lemonade Change (Easy)당신은 $5 짜리 레몬에이드를 판매한다.손님들은 레몬에이드를 주문하기 위해서 줄을 서 있으며 input 값인 bills 에는 손님이 얼마짜리 지폐를 들고 레몬에이드를 사려고 기다리고 있는지 주어진다.손님은 한 번에 하나씩 주문할 수 있으며, 손님들이 주문시에 지불할 수 있는 지폐는 $5, $10, $20다. 당신은 장사를 시작하기 전 거스름돈은 따로 가지고 있지 않아 $0 이며, 손님이 레몬에이드를 구매하며 지불한 돈이 곧 거스름돈으로 활용된다.이때, 당신이 모든 고객에게 정확한 거스름돈을 지불할 수 있는지 여부에 대해서 코드를 짜시오.leetcode에서 푼 문제 리스트 보기leetcode에서 문제 보기github에서 코드 보기문제풀이손님이 레몬에이드를 구..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 3. 19. 23:30
  • 이전
  • 1
  • ···
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ···
  • 12
  • 다음

사이드바

NOTICE

  • 내 맘대로 파이썬 커리큘럼
  • 삼성 SW Expert Academy 푼 문제 리스트
  • LeetCode에서 푼 문제 리스트
  • 백준에서 푼 문제 리스트
  • 정리한 알고리즘 리스트
  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (136)
    • Project (9)
      • pre-work (1)
      • gist (8)
    • Python (5)
      • PYCON 2019 (0)
      • python 파헤치기 (5)
      • cheat sheet (0)
      • module (0)
    • Data structure (9)
    • Algorithm (0)
    • 온라인 코딩 테스트 문제 풀이 (104)
      • 문제 풀이 전략 (1)
      • LeetCode 문제 풀이 (42)
      • 백준 문제 풀이 (33)
      • 삼성 SW Expert 문제 풀이 (26)
      • 프로그래머스 문제 풀이 (2)
      • HackerRank 문제 풀이 (0)
    • Database (6)
      • MySQL (6)
    • Network (1)
    • Tools (2)
      • Git (2)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • Django tutorial
  • python data structure
  • leetcode 파이썬
  • Dynamic Programming
  • DP
  • 파이썬 자료구조
  • leetcode python
  • 백준
  • SW Expert
  • leetcode
  • Tree
  • SW Expert Academy
  • python으로 푸는
  • 삼성 기출 문제
  • 삼성 코딩 테스트
MORE+

CALENDAR

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT Daim's blog, ALL RIGHT RESERVED.
Daim's blog
블로그 이미지 다임하게 님의 블로그
MENU
  • 홈으로
  • 블로그소개
CATEGORY
  • 분류 전체보기 (136)
    • Project (9)
      • pre-work (1)
      • gist (8)
    • Python (5)
      • PYCON 2019 (0)
      • python 파헤치기 (5)
      • cheat sheet (0)
      • module (0)
    • Data structure (9)
    • Algorithm (0)
    • 온라인 코딩 테스트 문제 풀이 (104)
      • 문제 풀이 전략 (1)
      • LeetCode 문제 풀이 (42)
      • 백준 문제 풀이 (33)
      • 삼성 SW Expert 문제 풀이 (26)
      • 프로그래머스 문제 풀이 (2)
      • HackerRank 문제 풀이 (0)
    • Database (6)
      • MySQL (6)
    • Network (1)
    • Tools (2)
      • Git (2)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바