주어진 문자열이 팰린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다.runtime : 52 msruntime : 36 ms코드와 정규식을 조금더 간결하게 만들어서 푼 문제이다.if문을 안쓰고 return 에다가 집어넣어도된다는 사실을 깨
문자열을 뒤집는 함수를 작성하라. 입력값으 문자배열이며, 리턴 없이 리스트 내부를 직접 조작하라.runtime = 200 msruntime = 208 ms
로그를 재정렬하라. 기준은 다음과 같다.로그의 가장 앞 부분은 식별자다문자로 구성된 로그가 숫자 로그가 숫자 로그보다 앞에 온다.식별자는 순서에 영향을 끼치지 않지만, 문자가 동일할 경우 식별자 순으로 한다.숫자 로그는 입력 순서대로 한다.리스트안에 있는 단어들을 엇떻
문제 금지된 단어를제외한 가장 흔하게 등장하는 단어를 출력하라. 대소문자 구분을 하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시한다. 예시 나의 풀이 풀지는 못하고 할 수 있는 데까지 풀어보았다. Counter객체를 사용한 풀이 단어문제는 아직 익숙하지 않아
기본 int를 자동으로 부여하는 defaultdict 메소드가 참 유용한 것같다.for문에서 dictionary에 바로 append해서 하는 풀이는 첨이라 잘 기억해놔야겠다.sort는 return 값이 없고, sorted는 리턴값이 있고, key를 이용해서 정렬 할 수
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.홀수 / 짝수 포인터를 이용하여 다이나믹 프로그래밍 하여 문제를
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exa
Problem solution 투포인터를 이용한 풀이
난이도 : ⭐️runtime : 280 ms주어진 배열을 sort를 이용하여 정렬한 뒤, nums자체를 2번씩 step하게 한뒤 for문을 이용하여 각 값을 더하였다.간단하게 풀었지만 runtime이 280ms 라 성능이 별로 좋진 못하다 더 성능 좋게 풀도록 해봐야겠
for문을 중첩해서 써서 배열 안에 있는 숫자의 차이를 검사하는 브루트포스 풀이 방법으로 풀었지만 runtime이 초과되어 통과되진 못하였다.runtime : 68 ms그래프를 그려서 시각화를 해본 뒤, 다시한번 문제를 들여다 보니까 엇떻게 풀어야할지 명확해졌다.포인터
Reverse a singly linked list.Runtime : 32 ms이해를 돕기위한 시각적 자료 https://www.geeksforgeeks.org/reverse-a-linked-list/ 참조Runtime : 36 ms방식은 위와 비슷하나 이번
1290. Convert Binary Number in a Linked List to Integer Given head which is a reference node to a singly-linked list. The value of each node in the l
Given a string s containing just the characters '(', ')', '{', '}', '' and '', determine if the input string is valid.An input string is valid if:Open
Implement the following operations of a stack using queues.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top()
Implement the following operations of a queue using stacks.push(x) -- Push element x to the back of queue.pop() -- Removes the element from in front o
Given the array candies and the integer extraCandies, where candiesi represents the number of candies that the ith kid has.For each kid check if there
Design your implementation of the circular queue. The circular queue is a linear data structure in which the operations are performed based on FIFO (F
Design your implementation of the circular double-ended queue (deque).Your implementation should support following operations:MyCircularDeque(k): Cons
피보나치 수를 구하라Leetcode 509. Fibonacci Number재귀 방식의 Top-Down(하향식) 풀이이다.코드는 간결하나 중복된 계산을 하여 성능이 좋지 않다.위의 풀이방식과 비슷하나 계산한 값은 딕트에 저장하여 중복된 계산을 하지 않는다. -> 성능이
Python 리스트를 -> String -> LinkedList로 변환하여 풀이하였다.역순으로 링크드리스트를 만드는 것은 Python리스트의 맨뒤값 추출(O(1))의 시간복잡도로 전체 O(n)의 시간복잡도이다.전가산기의 유사한 형태로 carry(자리 올림수)를 이용한
이 문제는 + / - 연산을 쓰지않고 풀이해야되는 문제로서 비트연산을 써서 풀이해야되는 문제였다.전가산기의 덧셈을 계산하는 논리 회로도를 구현함으로써 풀이가 되었고 덕분에 컴퓨터가 어떻게 값을 계산하게되는지 알게된 좋은 문제이다. XOR 게이트 : A와B의 합을 계산
이렇게 이전의 부분합이 음수이면 버리고 음수가 아니면 전의 부분합과 해당요소를 더하여 부분합을 구하고 최종적으로 부분합의 최대값을 구하면 연속적인 배열 합의 최대값을 구할 수 있다.여기서 중요한 것은 nums 리스트를 반복하면서 하위배열요소의 최대값을 구하여 똑같은
처음에 문제를 풀때 dfs로 풀생각하지 않고, 조합을 이용해서 풀면 좋겠다라는 생각을 했다. 그래서 각 번호가 만들 수 있는 문자를 하나씩 꺼내어 만들 수 있는 모든 문자열을 구하였다.위의 각 집합의 요소를 하나씩 구성하는 것을 데카르트 곱 이라고 하고 python의