본문으로 바로가기

Daim's blog

네비게이션

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

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

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

Python으로 푸는 LeetCode 744. Find Smallest Letter Greater Than Target (Easy)

주어진 문자보다 가장 처음으로 큰 숫자를 찾아 반환하는 코드를 짜시오 LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 github에서 코드 보기 문제 풀이 주어진 문자보다 가장 처음으로 큰 숫자를 반환하여야 한다. 단, 주어진 문자가 주어진 문자리스트의 모든 문자보다 클 경우에는 list의 가장 처음 문자를 반환하면 된다. "Letters also wrap around" 라는 문제 조건이 있기 때문이다. 파이썬 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Solution: def nextGreatestLetter(self, letters, target: str) -> str: target = ord(target) for letter i..

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

Python으로 푸는 LeetCode 917. Reverse Only Letters (Easy)

알파벳이 아닌 문자(-,!,? 등등)를 제외한 알파벳 문자를 뒤집어서 반환하는 코드를 짜시오. LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 Github에서 코드 보기 문제 풀이 문제를 푸는 방법은 다양하다. 처음 풀었던 방식은 문자열의 맨앞(start_index)와 맨뒤(last_index)의 index를 하나하나 확인하면서 앞뒤 모두 알파벳 문자열인 경우에만 두 자리를 바꿔주는 방법이다. 방법 1. 포인터를 이동하며 문자열 교환 만약 알파벳이 아니라면 index를 낮추거나 높여서 가리키고 있는 index를 문자열의 가운데로 점점 이동하며 문자열을 바꿔준다. start_index와 last_index가 서로 만나면 문자열 교환을 중지하고 str()으로 변환하여 결과값을 반환한다..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 5. 6. 23:40

Python으로 푸는 LeetCode 804. Unique Morse Code Words (Easy)

List의 원소인 단어들이 Morse Code로 바꾸었을 때, 중복되지 않은 모스 코드의 수를 반환하는 프로그램을 짜시오. LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 github에서 코드 보기 문제 조건 알파벳 26자에 대응되는 Morse Code가 주어진다. Morse Code에는 각 알파벳에 대응되는 Morse Code가 중복되기도 한다. 문제 풀이 주어진 Morse Code가 어떤 알파벳을 뜻하는지 정의해두기 위해서 파이썬의 dict()에 알파벳을 Key로 하고 모스 부호를 value로 하는 딕셔너리를 만들었다. 알파벳을 순회하여 출력하기 위하여 해당 문자의 아스키 코드 값을 알 수 있는 ord() 메소드를 활용하였다. 알파벳 'a'와 'z'의 아스키 코드 값이 97과 ..

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

Python으로 푸는 LeetCode 48. Rotate Image (Medium)

기존 2차원 배열의 값을 90도 회전시킬 수 있도록 코드를 짜시오. LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 Github에서 코드 보기 문제 조건 새로운 배열을 반환하지 않고 기존 배열을 변형해서 사용해야 한다.(in-place 방식) 문제 풀이 새로운 배열을 반환해도 된다면, zip() 메소드를 사용해서 쉽게 결과물을 구할 수 있다. 하지만 기존 배열을 활용해야 한다면, Rotate()를 하였을 때 기존 값의 위치와 새로운 위치에서 어떤 규칙으로 이동하였는지 찾으면 문제를 풀수 있다. 이런 유형의 문제를 풀 때, 내가 선호하는 방식은 충분히 그릴 수 있을 만한 작은 케이스를 찾아서 직접 위치값(R,C)의 변화를 그려내 규칙을 찾아내는 것이다. 먼저 matrix를 deepc..

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

Python으로 푸는 LeetCode 832. Flipping an Image (Easy)

주어진 2차원 배열의 원소를 각각 뒤집고, 1을 0으로 0을 1로 변환시키는 코드를 짜시오. LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 github에서 코드 보기 문제 풀이 Python의 reverse() 메소드를 사용하여 주어진 리스트 자체를 뒤집을 수 있다. (reversed()를 사용하면 새로운 리스트로 반환됨) 그 다음 리스트의 원소인 작은 리스트를 순회하면서 1을 0으로 0을 1로 바꿔주면 된다. 파이썬 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Solution: def flipAndInvertImage(self, A): """ Rumtime : faster than 74.47% of Python3 Memory Usage : le..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 4. 18. 16:00

Python으로 푸는 LeetCode 27. Remove Element (Easy)

배열의 위치를 변경하지 않고 기존의 배열의 원소들 중에 특정 원소를 삭제한다. (in-place algorithmn으로 구현) 반환하는 값은 아무 값이어도 상관 없다. LeetCode에서 푼 문제 리스트 보기 LeetCode에서 문제 보기 github에서 코드 보기 문제 풀이 지난 문제(LeetCode 26. Remove Duplicates from Sorted Array (Easy))와 유사하다. 이번에는 값을 삭제하게 되면서 배열의 길이의 변동이 있다는 점이 다르다. 이 문제가 어렵지는 않지만, 내가 자주 사용하는 numerate() 메소드가 새로운 객체로 반환하는지 결과값은 같으나 Wrong Answer이라고 떴다. 생각해보니 Python의 enumerate()는 index의 값을 추가해서 객체를 ..

온라인 코딩 테스트 문제 풀이/LeetCode 문제 풀이 2019. 4. 4. 23: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
  • 이전
  • 1
  • 다음

사이드바

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
  • DP
  • python으로 푸는
  • SW Expert Academy
  • Tree
  • leetcode
  • leetcode python
  • leetcode 파이썬
  • 삼성 코딩 테스트
  • 파이썬 자료구조
  • 삼성 기출 문제
  • SW Expert
  • Dynamic Programming
  • 백준
  • python data structure
MORE+

CALENDAR

«   2025/05   »
일 월 화 수 목 금 토
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 31

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 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바