일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 투포인터
- 파이썬기초100제
- 알고리즘
- GenerativeAI
- Python3
- TwoPointer
- 데이터사이언스
- 구글퀵랩
- 파이썬
- 빅데이터
- LeetCode
- 코드업
- 릿코드
- GenAI
- nlp
- gcp
- 클라우드
- 코드업파이썬
- 리트코드
- Azure
- Python
- Microsoft
- 머신러닝
- 생성형AI
- 자연어처리
- 파이썬알고리즘
- C#
- Blazor
- 파이썬기초
- codeup
- Today
- Total
목록Python (8)
Tech for good

class Solution: def rotate(self, nums: List[int], k: int) -> None: n = len(nums) k = k % n # In case k is larger than n # Step 1: Reverse the entire array nums.reverse() # Step 2: Reverse the first k elements nums[:k] = reversed(nums[:k]) # Step 3: Reverse the remaining n-k elements nums[k:] = reversed(nums[k:]) ..

class Solution: def isPrefixOfWord(self, sentence: str, searchWord: str) -> int: words = sentence.split() for i, word in enumerate(words): if word.startwith(searchword): return i+1 return -1 Explanation:Split the Sentence: The input sentence is split into a list of words using .split(), which automatically handles single spaces.Iterate Over Words..

이 문제를 한 번의 순회(One-pass)로 해결하는 방법은 두 개의 포인터(first, second)를 사용하는 것이다.first 포인터를 먼저 n칸 이동시킨 후, second 포인터를 first와 함께 이동하면 first가 끝에 도달했을 때 second는 삭제할 노드의 직전 노드를 가리키게 된다.✅ 알고리즘 풀이 (Two Pointer)더미 노드 추가: 삭제할 노드가 head일 수도 있으므로 더미 노드를 추가.first 포인터 선행 이동: first를 n칸 먼저 이동.두 포인터 이동: first가 리스트의 끝에 도달할 때까지 second와 함께 이동.노드 삭제: second.next를 second.next.next로 변경하여 노드 삭제.새로운 head 반환: dummy.next를 반환.# Defini..

Two Pointer 방식으로 해결하는 방법Two Pointer 방식을 사용하려면, BST(Binary Search Tree)의 중위 순회(in-order traversal)를 수행하여 오름차순으로 정렬된 리스트를 만든 후, 투 포인터를 사용하여 두 숫자의 합이 k가 되는지 확인하면 된다.Two Pointer 알고리즘BST를 중위 순회하여 정렬된 리스트를 생성중위 순회(In-order Traversal)를 수행하면 BST의 값이 오름차순으로 정렬됨.Two Pointer 기법을 활용하여 합이 k가 되는 두 수 찾기리스트의 left(처음)과 right(끝) 포인터를 설정.두 값의 합이 k보다 작으면 left를 증가.두 값의 합이 k보다 크면 right를 감소.두 값의 합이 k이면 True 반환.# Defin..

6059 : [기초-비트단위논리연산] 비트단위로 NOT 하여 출력하기 입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자. 비트단위(bitwise)연산자 ~ 를 붙이면 된다.(~ : tilde, 틸드라고 읽는다.) ** 비트단위(bitwise) 연산자는 ~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), (bitwise right shift)가 있다. 예를 들어 1이 입력되었을 때 저장되는 1을 32비트 2진수로 표현하면 00000000 00000000 00000000 00000001 이고, ~1은 11111111 11111111 11111111 11111110 가 되는데 이는 -2를 의미한다. 예시 a = 1 print(~a) #..

6046 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기 정수 1개를 입력받아 2배 곱해 출력해보자. 참고 *2 를 계산한 값을 출력해도 되지만, 정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 를 이용할 수 있다. 컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에, 2진수 형태로 저장되어 있는 값들을 왼쪽()으로 지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데, 왼쪽 비트시프트()가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고, 가장 오른쪽에 있는 1비트는 사라진다. 예시 n = 10 print(n1) #10을 반으로 나눈 값인 5 가 출력된다. print(n2) #10을 반으로 나눈 후 다시 반으..
6032 : [기초-산술연산] 정수 1개 입력받아 부호 바꾸기 입력된 정수의 부호를 바꿔 출력해보자. 입력 정수 1개가 입력된다. 출력 부호를 바꿔 출력한다. 입력 예시 -1 출력 예시 1 n = int(input()) print(-n) 6033 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기 문자 1개를 입력받아 그 다음 문자를 출력해보자. 영문자 'A'의 다음 문자는 'B'이고, 숫자 '0'의 다음 문자는 '1'이다. 예시 ... print(chr(n+1)) 참고 숫자는 수를 표현하는 문자로서 '0' 은 문자 그 자체를 의미하고, 0은 값을 의미한다. 힌트 아스키문자표에서 'A'는 10진수 65로 저장되고 'B'는 10진수 66으로 저장된다. 따라서, 문자도 값으로 덧셈을 할 수 있다. ..

6014 : [기초-입출력] 실수 1개 입력받아 3번 출력하기 실수(real number) 1개를 입력받아 줄을 바꿔 3번 출력해보자. 입력 예시 0.1 출력 예시 0.1 0.1 0.1 num = input() print((num + "\n") * 3) 6015 : [기초-입출력] 정수 2개 입력받아 그대로 출력하기2 공백을 두고 입력된정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자. 예시 a, b = input().split() print(a) print(b) 과 같은 방법으로 두 정수를 입력받아 출력할 수 있다. 참고 python의 input()은 한 줄 단위로 입력을 받는다. input().split() 를 사용하면, 공백을 기준으로 입력된 값들을 나누어(split) 자른다. a, b =..