분류 전체보기
-
리트코드 2390. Removing Stars From a String코딩테스트 2024. 2. 3. 19:08
https://leetcode.com/problems/removing-stars-from-a-string/description/?envType=study-plan-v2&envId=leetcode-75 별 *이 포함된 문자열 s가 주어진다. 한 번의 operation으로 다음이 가능하다: s에서 별을 선택합니다. 왼쪽에서 가장 가까운 별이 아닌 문자를 제거하고 별 자체도 제거한다. 모든 별이 제거된 후의 문자열을 반환한다. 풀이 1 - 스택을 활용한 풀이 살아남은 문자열을 보관하기 위한 스택을 생성한다 문자열을 순회하면서 다음과 같이 확인한다. 스택이 비어있거나, 문자열이 별이 아니라면, 스택에 추가한다. 그렇지 않으면 스택에 있던 마지막 문자열을 제거한다. 이 과정을 거치면 문자열 순회가 종료되고 별 제..
-
리트코드 735. Asteroid Collision코딩테스트 2024. 2. 3. 17:37
https://leetcode.com/problems/asteroid-collision/description/?envType=study-plan-v2&envId=leetcode-75 LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 소행성을 나타내는 정수로 이루어진 소행성 배열이 주어진다. 각 소행성에서 절대값은 크기를 나타내고 부호는 방향을 나타낸다(양수는 오..
-
리트코드 2352. Equal Row and Column Pairs코딩테스트 2024. 1. 29. 01:28
인덱스가 0인 n x n 정수 행렬 그리드가 주어졌을 때, 행 ri와 열 cj가 같은 쌍(ri, cj)의 수를 반환한다. 행과 열 쌍이 동일한 순서로 동일한 요소를 포함하는 경우(즉, 동일한 배열) 동일한 것으로 간주한다. 풀이 1 문제에서 요구하는 것은 행과 열의 쌍이 같은 수, 즉 행의 전체 요소 순서가 열의 순서와 일치하는 수를 찾는 것이다. 접근 방식은 다음과 같다. 1. 그리드의 각 행과 각 열을 비교한다. 2. 각 행과 열 쌍에 대해 모든 요소가 같은 순서로 동일한지 확인한다. 3. 이 조건이 참인 쌍의 수를 센다. 이를 구현하기 위해서 다음과 같은 단계로 진행된다. 1. 각 행을 반복한다. 2. 각 행에 대해 각 열을 반복한다. 3. 행과 열을 요소별로 비교한다. 4. 같으면 개수를 증가시킨..
-
[Project] 회원가입 - 로그인프로젝트/Movie-Ticketing 2024. 1. 24. 19:02
회원 가입 회원 모델 먼저 회원 정보를 위한 모델이 필요하다. 회원 정보 모델에는 최소한 다음과 같은 속성이 필요하다. id는 자동으로 증가하는 User 모델의 기본 키이다. username, password 에는 null값을 허용하지 않도록 nullable=False로 설정했다. username에는 unique=True를 지정하려 한다. unique=True는 "같은 값을 저장할 수 없다"를 뜻한다. 이렇게 해야 username이 중복되어 저장되지 않는다. 회원 가입 API 명세 POST /user/create - 사용자 가입 Input: 사용자 이름, 비밀번호 Output: 없음 회원 가입 스키마 회원가입 API의 입력 항목으로 사용할 스키마를 다음과 같이 만들려고 한다. class UserCreat..
-
리트코드 1657. Determine if Two Strings Are Close코딩테스트 2024. 1. 24. 17:54
https://leetcode.com/problems/determine-if-two-strings-are-close/?envType=study-plan-v2&envId=leetcode-75 LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com def closeStrings(word1, word2): if set(word1) != set(word2): # O(n) r..
-
리트코드 - 1493. Longest Subarray of 1's After Deleting One Element코딩테스트 2024. 1. 24. 17:38
https://leetcode.com/problems/longest-subarray-of-1s-after-deleting-one-element/?envType=study-plan-v2&envId=leetcode-75 LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 슬라이싱 윈도우 기법을 활용해 볼 수 있는 문제를 하나 더 풀어보았다. 목표는 배열에서 정확히 하..
-
리트코드 1004. Max Consecutive Ones III코딩테스트 2024. 1. 24. 17:23
https://leetcode.com/problems/max-consecutive-ones-iii/description/?envType=study-plan-v2&envId=leetcode-75 LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 하위 배열 문제를 처리하기 위한 일반적인 접근 방식인 슬라이딩 윈도우기법을 기반으로 해결했다. def longestOne..
-
파이썬 비동기 프로그래밍 - (1) 코루틴개발 공부의 시작/python 2024. 1. 18. 18:30
전통적으로 동시 프로그래밍은 멀티 스레드를 활용해서 이뤄진다. 하지만 thread-safe한 프로그램을 작성하는 것은 쉬운 일이 아니다. 싱글 코어 프로세서에서 프로그램을 실행하면 스레드를 늘리면 늘릴 수록 잔여 스레드의 컨텍스트 오버헤드와 동기화 등의 문제가 발생한다. 따라서 동시 처리에 대한 성능 향상이 저하되는 문제가 발생한다. 이러한 이유로 싱글 스레드로 동시 처리를 하는 비동기 프로그래밍이 활용된다. 비동기 프로그래밍 I/O 작업, 네트워크 요청, 파일 시스템 작업과 같은 시간이 많이 소요되는 작업을 효율적으로 처리한다. 작업이 완료되기를 기다리는 동안 다른 작업을 진행할 수 있도록 해서 응답성을 높이고 자원 사용을 최적화한다. 일반적으로 이벤트 기반(event-driven)이나, 콜백(call..