Programming 50

leetcode 20. Valid Parentheses 유효한 괄호 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/valid-parentheses/ 입력: 괄호로 구성된 문자열 출력: boolean 문제 요약: 괄호는 항상 마지막에 오는 여는 괄호의 닫힌 괄호가 먼저 나와야 한다. 즉, (){} 이나 ({}) 는 True이지만, {(}) 는 마지막 여는 괄호 ( 에 맞는 )가 오지 않았으므로 False 이다. 그리고 모든 괄호들이 닫혀야지만, True이고 ..

leetcode 206. Reverse Linked Lists 리트코드 206. 역순 연결 리스트 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/reverse-linked-list/ Reverse Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview...

leetcode 21. Merge Two Sorted. Lists 리트코드 21. 두 정렬 리스트의 병합 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/merge-two-sorted-lists/ Merge Two Sorted Lists - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next inte..

leetcode 234. Palindrome Linked List 리트코드 234. 팰린드롬 연결 리스트 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/palindrome-linked-list/ Palindrome Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next inte..

leetcode 238. Product of Array Except Self 리트코드 238. 자신을 제외한 배열의 곱

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 leetcode.com/problems/product-of-array-except-self/ Product of Array Except Self - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next ..

leetcode 15. 3Sum 리트코드 15. 세 수의 합 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 leetcode.com/problems/3sum 3Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 입력 : 정수로 된 리스트 출력 : 정수로 된..

leetcode 121. Best Time to Buy and Sell Stock 리트코드 121. 주식을 사고팔기 가장 좋은 시점 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 주식을 사고팔기 가장 좋은 시점 입력: 정수로 된 리스트 출력: 정수 문제 요약: 리스트 안의 숫자 2개를 골라서 그 차가 가장 큰 값을 출력 (순서 있음) 유의 사항: 유의사항을 보면 제시된 리스트의 길이와 숫자의 크기가 매우 크다. 효율성을 고려해야 한다. 생각 과정 기본적으로 가장 큰 수에서 가장 작은 수를 빼면 차이가 가장 크다. 그러나 리스트의 순서에 의미가 있기 때문에 그냥 정렬을 하면..

딕셔너리에서 value를 가지고 key 얻기

파이썬의 해시 테이블 자료형인 딕셔너리에서 key를 가지고 값을 얻는 방법은 .get() 메서드를 사용하거나 dict_name[key] 형태로 index 하는 것이다. (참고: rollingsnowball.tistory.com/108) 그런데 value를 알고 있을 때, 그 값을 가지는 key를 찾는 것은 좀 더 까다롭다. 1. dict_name.items()를 통해서 key, value 쌍을 만들로 for 반복문을 돌려, 일일이 원하는 값과 같은지 비교한다. my_dict ={"John":1, "Michael":2, "Shawn":3} def get_key(val): for key, value in my_dict.items(): if val == value: return key return "There..

Programming/Python 2021.05.07

leetcode 1. Two Sum 리트코드 1. 두 수의 합 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 leetcode.com/problems/two-sum/ 입력: 정수 리스트, 정수 1개 출력: 정수 리스트 문제 요약: 리스트에서 두 개의 수를 더하면 target이 되는 원소의 인덱스를 리턴 유의 사항: 1. 두 원소의 값이 아니라 인덱스를 한다는 점 2. 조건을 만족하는 답이 딱 하나 3. 그리고 리스트의 길이 최대 1000개, 타겟 값 10**9 등 단위가 매우 크기 때문에 효율성에 신경을 ..

leetcode 5. Longest Palindromic Substring 리트코드 5. 가장 긴 팰린드롬 부분 문자열

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 가장 긴 팰린드롬 부분 문자열 입력: 문자열 출력: 문자열 문제 요약: 주어진 문자열에서 찾을 수 있는 가장 긴 팰린드롬을 출력하기 유의 사항: 예를 보면 "a", "ac" 가 입력일 때 모두 "a"가 출력되었다. len(a)이 1이거나 같은 팰린드롬이 없을 때는 a[0]이 출력되는 듯 그리고, 문자열 내에 대문자/소문자 모두 들어가 있다고 하니까 .lower()를 통해 모두 소문자로 변환해줘야할..

leetcode 49. Group Anagrams 리트코드 49. 그룹 애너그램 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 그룹 애너그램 입력: 문자열로 된 리스트 출력: 문자열로 된 리스트의 리스트 문제 요약: 애너그램은 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 뜻한다고 한다. (출처: 파이썬 알고리즘 인터뷰) 예를 들어 'eat' 과 'tea' 와 같은 것이다. 유의 사항: strs[i].length == 0 인 경우도 포함된다. 즉, 아무것도 없는 빈 원소까지 고려해서 짜야 한다. 생각 과정 같은 애..

leetcode 937. Reorder Data in Log Files 리트코드 937. 로그 파일 재정렬 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 리트코드 로그파일 재정렬 입력: list (string) 출력: list (string) 문제 요약: string이 원소인 리스트를 받아 정렬만 해서 다시 리스트로 출력한다. 그런데, 정렬의 기준이 조금 달라서 그 기준에 맞춰 정렬해야 한다는 점이 포인트 생각 과정 일단 각 원소를 띄어쓰기를 기준으로 쪼개서 리스트로 만든 다음, 각 로그의 첫번째 부분은 식별자라고 해서 식별자와 나머지로 나눠보았다..

leetcode 819. Most Common Word 리트코드 819. 가장 흔한 단어 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 leetcode.com/problems/most-common-word/ 입력 : string data type인 paragraph , list data type인 banned 출력: string data type 문제 요약: 가장 자주 등장하는 단어를 고른다. 단, 따로 뽑아 놓은 banned 리스트에 있는 단어는 제외하고. 생각 과정 1. 하나의 문장을 단어 단위로 쪼개고, (.split()) ..