파이썬 알고리즘 인터뷰
-
1. 연결 리스트 (Linked List) 기본 개념 연결 리스트(Linked List)란 선형 자료구조 중 배열과 함께 가장 기본이 되는 개념으로, "물리 메모리 어딘가에 흩뿌려진 노드(Node)들이 서로 연결된 형태로 구성된 자료구조"를 의미한다. 그럼 잠깐, 여기서 노드(Node)가 무엇인지 설명이 필요할 수도 있겠다. 노드(node)는 "데이터(값) + 다음 노드의 주소(포인터)"를 담고 있는 형태로 이루어져 있는 녀석이다. 즉 다시 연결 리스트의 개념으로 돌아가자면, 다음 노드의 주소를 노드 자체에서 담고 있기 때문에 물리 메모리 상에서는 데이터가 여기저기 흩어져 있더라도, 서로 연결된 구조로 사용할 수 있는 것이다. 이러한 특징 때문에 연결 리스트(Linked List)는 동적으로 새로운 노드..
[Algorithm] 내가 보려고 정리하는 파이썬 연결 리스트(Linked List) 기초1. 연결 리스트 (Linked List) 기본 개념 연결 리스트(Linked List)란 선형 자료구조 중 배열과 함께 가장 기본이 되는 개념으로, "물리 메모리 어딘가에 흩뿌려진 노드(Node)들이 서로 연결된 형태로 구성된 자료구조"를 의미한다. 그럼 잠깐, 여기서 노드(Node)가 무엇인지 설명이 필요할 수도 있겠다. 노드(node)는 "데이터(값) + 다음 노드의 주소(포인터)"를 담고 있는 형태로 이루어져 있는 녀석이다. 즉 다시 연결 리스트의 개념으로 돌아가자면, 다음 노드의 주소를 노드 자체에서 담고 있기 때문에 물리 메모리 상에서는 데이터가 여기저기 흩어져 있더라도, 서로 연결된 구조로 사용할 수 있는 것이다. 이러한 특징 때문에 연결 리스트(Linked List)는 동적으로 새로운 노드..
2022.06.06 -
📎 링크 Group Anagrams - 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 🤔 문제 문자열 배열이 주어지면, 애너그램 단위로 그룹화하세요. 애너그램(Anagram)이란 다른 단어나 구문의 글자를 재정렬하여 다른 뜻을 가진 단어로 바꾸는 것을 뜻합니다. (예시: '문전박대' -> '대박전문') 예제 입력 ["eat","tea","tan","ate","nat","bat"] 예제 출력 [ ["bat"], ["nat","tan"], ["ate","eat","..
[Algorithm/문제 05] 그룹 애너그램 (LC 49. Group Anagrams)📎 링크 Group Anagrams - 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 🤔 문제 문자열 배열이 주어지면, 애너그램 단위로 그룹화하세요. 애너그램(Anagram)이란 다른 단어나 구문의 글자를 재정렬하여 다른 뜻을 가진 단어로 바꾸는 것을 뜻합니다. (예시: '문전박대' -> '대박전문') 예제 입력 ["eat","tea","tan","ate","nat","bat"] 예제 출력 [ ["bat"], ["nat","tan"], ["ate","eat","..
2022.05.25 -
📎 링크 Most Common Word - 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 🤔 문제 paragraph에서 금지된 단어를 제외하고, 가장 빈번하게 등장하는 단어를 출력하세요. paragraph의 단어는 대소문자를 구분하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시합니다. 답은 소문자로 반환해야 합니다. 예제 입력 paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", bann..
[Algorithm/문제 04] 가장 흔한 단어 (LC 819. Most Common Word)📎 링크 Most Common Word - 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 🤔 문제 paragraph에서 금지된 단어를 제외하고, 가장 빈번하게 등장하는 단어를 출력하세요. paragraph의 단어는 대소문자를 구분하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시합니다. 답은 소문자로 반환해야 합니다. 예제 입력 paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", bann..
2022.05.22 -
📎 링크 Reorder Data in Log Files - 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 🤔 문제 각 로그는 공백으로 구분된 단어 문자열이며, 여기서 첫 번째 단어는 식별자입니다. 로그에는 문자 로그(식별자를 제외한 모든 단어는 소문자로 구성), 숫자 로그(식별자를 제외한 모든 단어는 숫자로 구성) 두 가지 유형이 있습니다. 제공되는 로그 배열을 아래 기준에 맞추어 재정렬하세요. 문자로 구성된 로그는 모든 숫자 로그보다 앞에 와야 합니다. 식별자..
[Algorithm/문제 03] 로그 파일 재정렬 (LC 937. Reorder Log Files)📎 링크 Reorder Data in Log Files - 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 🤔 문제 각 로그는 공백으로 구분된 단어 문자열이며, 여기서 첫 번째 단어는 식별자입니다. 로그에는 문자 로그(식별자를 제외한 모든 단어는 소문자로 구성), 숫자 로그(식별자를 제외한 모든 단어는 숫자로 구성) 두 가지 유형이 있습니다. 제공되는 로그 배열을 아래 기준에 맞추어 재정렬하세요. 문자로 구성된 로그는 모든 숫자 로그보다 앞에 와야 합니다. 식별자..
2022.05.22