반응형

Python 11

프로그래머스 | 2022 KAKAO BLIND RECRUITMENT > k진수에서 소수 개수 구하기 - 파이썬

이번 문제도 간단한 문제였다. 그런데 왜이렇게 어렵게 풀었을까나 ㅜㅜ 주어진 숫자 n을 k진수로 바꾼 후, 0을 기준으로 숫자들을 잘라낸다. 그 숫자들이 소수인가? 그렇다면 소수인 숫자가 몇 개인가! 0을 기준으로 split하면 됐을텐데 나는 왜 for문을 돌면서 하나하나 체크했지ㅜㅜ? def solution(n, k): answer = 0 knum = transfer(n, k) + '0' curr = '' left = 0 right = 0 for digit in knum : if digit != '0': curr = curr + str(digit) else : if curr == '': continue if isPrime(int(curr)) and left == 0 and right == 0: answ..

[LeetCode 리트코드] Max Number of K-Sum Pairs, python

문제 You are given an integer array nums and an integer k. In one operation, you can pick two numbers from the array whose sum equals k and remove them from the array. Return the maximum number of operations you can perform on the array. (해설) int배열 nums와 int k가 주어진다. nums의 두 숫자를 골라 더해서 k가 되면 nums에서 삭제한다. 이렇게 k를 만들 수 있는 쌍의 최대값을 구하여라. 예 Input: nums = [1,2,3,4], k = 5 Output: 2 1,4 그리고 2, 3 추가사항 1

[LeetCode 리트코드] Add Two Numbers, python 파이썬

문제 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. 0이상의 정수로 이루어진 linked list 두 개가 주어진다. 각 노드의 값은 한 자리 숫자이다. linked list는 거꾸로된 방..

[LeetCode 리트코드] Check If Two String Arrays are Equivalent, python3, 파이썬

문제 string리스트 word1과 word2가 주어진다. 이 리스트들을 모두 합쳤을 때 두 개가 같으면 true, 다르면 false를 리턴하라. 예 input : word1 = ["ab", "c"], word2 = ["a", "bc"] output : true input : word1 = ["a", "cb"], word2 = ["ab", "c"] output : false 추가사항 word1과 wor2의 길이는 10^3이하. 각 리스트에 있는 문자열의 길이도 10^3 이하. 각 리스트의 문자열을 다 합친 길이도 10^3 이하. 나의 솔루션 class Solution: def arrayStringsAreEqual(self, word1: List[str], word2: List[str]) -> bool: ..

[LeetCode 리트코드] Longest Substring Without Repeating Characters , python3

문제 문자열 s가 주어진다. s의 substring중에서 중복된 문자가 없는 substring의 최대 길이를 리턴하라. 예 input : s = "abcabcbb" output : 3 추가사항 0 한국어 번역) The naive approach is very straightforward. But it is too slow. So how can we optimize it? -> 단순한 접근은 상당히 직관적이지만 매우 느리다. 어떻게 최적화할 수 있는가? In the naive approaches, we repeatedly check a substring to see if it has duplicate character. But it is unnecessary. If a substring s[i:j]​ fr..

[LeetCode 리트코드] Find a Corresponding Node of a Binary Tree in a Clone of That Tree

문제 바이너리 트리 original이 주어진다. 그리고 그것의 레퍼런스 버전인 cloned가 주어진다. target노드가 head가 되는 cloned된 트리를 리턴하라. 언뜻 보면 되게 간단하다. 그냥 bfs로 돌면서 target과 value가 같은 노드가 있으면 리턴하면 된다. 예 추가사항 노드의 개수는 1개 이상 10^4개 이하 target 노드는 무조건 original 중에 있음 나의 솔루션 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None def bfs(node: TreeNode, val): if node.va..

[LeetCode 리트코드] Kth Missing Positive Number

문제 리스트로 주어지는 arr를 제외하고 없는 k번째 숫자를 구하여라. (모든 수는 자연수) 예 input : arr = [1, 2, 5, 6, 7, 10, 20], k = 5 output : 11 1번째 missing number : 3 2번째 missing number : 4 3번째 missing number : 8 4번째 missing number : 9 5번째 missing number : 11 추가사항 arr의 길이는 1000. arr의 요소는 1이상 1000이하, k는 1이상 1000이하. arr는 오름차순 정렬 나의 솔루션 class Solution: def findKthPositive(self, arr: List[int], k: int) -> int: arrIdx = 0 arrLen = l..

Day1 | 가위바위보게임

규칙 # 가위바위보 게임 # 1 : 가위 # 2 : 바위 # 3 : 보 # 컴퓨터는 랜덤으로 가위바위보를 냅니다. # 사용자는 키보드로 1, 2, 3 중 하나를 입력하여 냅니다. # 이기면 1점을 획득합니다. # 먼저 3점을 획득한 사람이 승리합니다. 예상결과 뼈대코드 ''' 가위바위보 게임 1 : 가위 2 : 바위 3 : 보 컴퓨터는 랜덤으로 가위바위보를 냅니다. 사용자는 키보드로 1, 2, 3 중 하나를 입력하여 냅니다. 이기면 1점을 획득합니다. 먼저 3점을 획득한 사람이 승리합니다. ''' name = input('이름을 입력하세요 : ') print('게임을 시작합니다. (가위 : 1, 바위 : 2, 보 : 3') user_score = 0 #사용자 점수 computer_score = 0 #컴퓨..

반응형