파이썬11 [Python] 문자열 덧셈 vs Join 함수 # [+] 방식PyObject *result = PyUnicode_New(new_len, maxchar); // 👈 새로운 문자열 객체 생성# join 방식result = PyUnicode_New(total_length + sep_len * (count - 1), maxchar); // 👈 한 번에 메모리 할당백준 2448번을 풀다가 일반적인 문자열 덧셈에서는 시간초과가 뜨는 것을 보고 둘을 비교하게 되었습니다. 우선 아래는 파이썬의 일반적인 문자열 누적의 예시입니다.parts=['a', 'b', 'c', '1', '2', '3']# 문자열 덧셈s = ""for part in parts: s += partprint(s)# join은 "구분자"를 기준으로 parts에 있는 문자열들을 하나의 문.. 2025. 5. 20. vscode 파이썬 가상환경 1. VS Code에서 Python 가상환경 만들기 (*해당 버전이 설치되어 있어야함)python'버전' -m venv "가상환경 이름" 2. 가상환경 활성화하기#window.\venv\Scripts\activate#macOS/Linuxsource venv/bin/activate 3. Jupyter 및 필요한 패키지 설치 4. Jupyter 노트북 커널에 가상환경 안잡힐 때pip install ipykernelpython -m ipykernel install --user --name "생성한 가상환경 이름" --display-name "원하는 이름" 2024. 11. 12. [Python] 숫자가 문자열일 때 사전식 정렬 알고리즘을 안푼지 1년이 지난 지금.. 생존본능을 느낀다열심히 해야겠다.. 이대로 가다간 국물도 없다 프로그래머스 가장 큰 수 level2 문제를 풀다가 기억난 점인데숫자를 문자열로 바꾸고 정렬 할 때는 숫자 하나씩 비교함.예를 들어333 92 37 12 이렇게 있으면92 > 37> 333> 12 이 순임첫번째 비교하고, 두번째 비교하는 식 기억해두면 좋은 기초 문법?이다. 2024. 7. 3. [백준 16236번 | 골드3] 아기상어 파이썬 풀이 반년 정도 전에 백준 열심히 풀 때 못 풀었던 문제를 오히려 오랜만에 푸니깐 바로 풀어서 공유해봅니다.. (코드가 더러워도 이해 부탁) 문제: 아기상어가 물고기 먹으러 댕길건데 0이나 자기랑 같은 크기의 물고기는 지나갈 수 있고, 자기보다 작은 물고기만 먹을 수 있음. 물고기를 먹으러 갈 때는 가장 가까운 놈을 먹어야 하는데 같은 거리에 물고기가 많다면 제일 윗쪽, 그리고 왼쪽에 있는 물고기를 먹어야함. 자신의 크기만큼 물고기를 먹으면 성장함. 여기서 'BFS로 풀고, 탐색할 때 윗쪽, 왼쪽, 오른쪽, 아래 이 순서로 탐험하면 되겠다.'라고 생각하는 것이 일반적이라 생각한다. 나 또한 그랬고, 질문 게시판에도 많은 사람들이 같은 생각을 하고 있다. 하지만 일반적인 BFS로는 앞에서 말한 순서로 실행해도 .. 2024. 1. 20. [백준 2252번 | 골드3] Python 풀이 문제를 보면 1 3, 3 2 이런식으로 두 개의 숫자를 주는데 왼쪽의 수가 오른쪽의 수보다 앞에 있어야 한다는 조건이 있다. 여기 이 문제가 위상정렬 문제임을 알 수 있다. (여러 가지 일이 있는데 이들 상호 간에 상호 선후 관계가 있을 때 위상정렬을 사용한다.) 위상정렬에서는 크게 두 가지 방법이 있다고 한다. 1. 진입 간선이 없는 정점을 선택하고 해당 정점과 연결되어 있는 정점 방문을 반복하면서 진출 간선을 하나씩 없애는 방법. 2. DFS(+백트래킹) 나는 2번 방식으로 풀어보았다. (시간나면 1번으로도 풀어서 수정하겠습니다.) from collections import deque import sys input = sys.stdin.readline def dfs(v): visited[v]=1 fo.. 2024. 1. 8. *args와 **kwargs args는 arguments의 줌말로 *args가 아닌 *a로 해도됨 함수에 매개변수를 받을 때 얼마나 받을지 모르는 상황일 때 써주면 됨 def met(a, b, *args): print(a*b) for i in args: print(i) 이런식으로 사용하면 되는데 항상 다른 매개변수들보단 뒤에 있어야함. -> *args가 앞으로 가면 파이썬은 얼마까지가 args로 가야할지 모르기 때문 kwarg는 keyword argument의 약자로 딕셔너리 형태로 생각하면 된다. def gogo(**kwargs): for i, j in kwargs.items(): print(i+"는"+j+"원이다.") 2023. 12. 14. 이전 1 2 다음