본문 바로가기

코딩테스트 문제풀이/LeetCode5

[LeetCode] 7. Reverse Integer LeetCode 7번 Reverse Integer String 문제 정수를 뒤집는 문제 과정 정수를 문자열로 변환후 뒤집기 마지막 값이 -이면 (음수이면) 맨 앞으로 바꿔줌 정수의 범위 체크 후 넘어가면 0 리턴 소스코드 class Solution: def reverse(self, x: int) -> int: data = str(x)[::-1] if data[-1] == "-": data = "-" + data[:-1] if int(data) 2**31 - 1: return 0 return int(data) 통과 // 2023-07-31 스터디 과제 2023. 8. 8.
[LeetCode] 6. Zigzag Conversion LeetCode 6번 Zigzag Conversion String 문제 문자열 s가 주어졌을 때, 이를 지그재그 방향으로 나열한 문자열을 출력하는 문제 과정 문자열 방향을 정할 변수(direct)와 인덱스 값을 설정할 변수(cnt)가 필요하다. 문자열 s를 순회하면서 인덱스가 마지막이거나 처음일 경우에 방향을 바꿔준다. 방향에 따라 정방향이면 인덱스에 +1, 역방향이면 인덱스에 -1을 해준다. numRows만큼 선언해둔 2차원 배열(data)에 값을 저장하고 이를 문자열로 붙여서 출력해주면 된다. 소스코드 class Solution: def convert(self, s: str, numRows: int) -> str: answer = "" data = [[] for _ in range(numRows)] .. 2023. 8. 8.
[LeetCode] 5. Longest Palindromic Substring LeetCode 5번 Longest Palindromic Substring String, DP, 확장 문제 유명한 팰린드롬 문제 팰린드롬(palindrome)이란? 'aba', 'eye' 처럼 거꾸로 읽어도 똑같은 문장이나 단어를 뜻한다. 과정 주어진 문자열s를 특정 기준에 따라 분리하고 별도로 팰린드롬인지 판별하는 함수를 만들어 분리된 문자열이 팰린드롬인지 체크하였다. 1. check_palindrome() 함수 해당 문자열이 팰린드롬이지 판별하는 함수이다. 1-1) 매개변수로 잘려진 문자열s가 들어오는 경우 def check_palindromic(s): mid = len(s) // 2 if len(s) % 2 == 0: # 짝수 reversed_s = reversed(list(s[mid:])) rev.. 2023. 7. 31.
[LeetCode] 3. Longest Substring Without Repeating Characters LeetCode 3번 Longest Substring Without Repeating Characters string 문제 이 문제는 반복되는 알파벳이 나오지 않는 가장 큰 문자열을 반환하는 문제이다. 코테에서 보통 1번에 나오는 문자열관련 문제들과 유사했다. 과정 1) 처음에는 모든 경우를 구하기 위해서 2중 반복문을 사용했었다. # case 986) Time Limit Exceeded Error!! class Solution: def lengthOfLongestSubstring(self, s: str) -> int: answer = 0 for i in range(len(s)): num = [] cnt = 0 for j in range(i,len(s)): if s[j] in num: num = [s[j.. 2023. 7. 31.
[LeetCode] 2. Add Two Numbers LeetCode 2번 Add Two Numbers math, LinkedList 문제 반대의 값이 저장된 두 개의 LinkedList가 주어지고 원래 두 정수의 합을 다시 LinkedList로 반환하는 문제이다. 1번 예제를 보면 342 + 564 = 807이고 이를 역순한 708이 답이다. 오랜만에 보는 LinkedList 문제였다. 3번 예제 같은 경우엔 9999999 + 0009999 = 10009998 이 되고 이를 역순한 89990001이 답이 되는 것 제약사항은 다음과 같다. 과정 처음에 문제를 읽어봤을 때 무슨 소리인지.. 여러번 봤는데 이해하고 나면 단순한 문제임을 알 수 있다. 합산을 하는 과정은 주어진 LinkedList인 l1과 l2를 처음부터 차례대로 더하면 된다. 왜냐하면 어차피 .. 2023. 7. 31.
반응형