코딩 테스트/leetcode23 Baseball Game 첫번째 코드 하나하나 따져가면서 문제를 풀면 간단하다!"이런 경우 ~ 이렇게 함수 적용"이라는 느낌으로 if 문을 사용하면 된다.이때 모두 문자열이므로 정수로 바꾸어 넣는 것에 유의한다. class Solution: def calPoints(self, operations: List[str]) -> int: score = [] for i in operations: if i == '+': score.append(score[-1] + score[-2]) elif i == 'C': score.pop() elif i == 'D': .. 2024. 8. 5. Deepest Leaves Sum 첫번쨰 코드 트리 class를 다루는 경우는 처음이어서,gpt에게 설명을 들으면서 코드를 적어나갔다. 여기서 정리할 것은, 주어진 트리는 TreeNode 클래스를 사용하여 정의- 트리의 각 노드는 val이라는 값- 왼쪽 자식 노드를 가리키는 left- 오른쪽 자식 노드를 가리키는 right 코드 자체는 BFS를 이용하여 작성하였다.root를 시작으로 해당 값을 더한 후left나 right가 있으면 다시 넣은 후, sum을 다시 0으로 만드는 과정을 반복한다. 만약에 left나 right가 더 이상 아무것도 없으면해당 값은 마지막 leave로 가장 깊은 node가 될 것이다. # Definition for a binary tree node. class TreeNode: def __init__(sel.. 2024. 8. 2. Find Target Indices After Sorting Array 첫번째 코드 먼저 순서대로 정렬을 한 후에target값과 동일한 경우 해당 인덱스를 가져오는 코드를 작성한다. class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: answer = [] nums.sort() index = 0 for i in nums: if i == target: answer.append(index) index += 1 return answer 통과링크https://github.com/ornni/leetcode/t.. 2024. 7. 29. Top K Frequent Elements 첫번째 코드 먼저 문제를 보고 든 생각은 딕셔너리를 이용해야겠다! 라는 생각이었다.하지만 딕셔너리를 많이 사용해보지 않아서 GPT의 도움을 살짝 받았다!! 그리고 value의 수가 가장 큰 k개를 뽑으려고 했는데, 이때 heapq를 이용하는 것이 좋다는 GPT의 추천이 있어이를 적용해보았다. import heapq class Solution: def topKFrequent(self, nums: List[int], k: int) -> List[int]: count_dict = {} for i in nums: if i not in count_dict.keys(): count_dict[i] = 1 els.. 2024. 7. 19. Delete Greatest Value in Each Row 보호되어 있는 글 입니다. 2024. 7. 15. Number of Good Pairs 첫번째 코드 원소들을 비교해서 같은 경우 answer += 1을 하는 방법으로 정답을 구한다. class Solution: def numIdenticalPairs(self, nums: List[int]) -> int: answer = 0 for i in range(len(nums)): for j in range(i+1, len(nums)): if nums[i] == nums[j]: answer += 1 return answer 통과링크https://github.com/ornni/leetcode/tree/main/1512-number-of-good-pairs leetcod.. 2024. 7. 12. 이전 1 2 3 4 다음 728x90