목록분류 전체보기 (127)
소피it블로그
https://leetcode.com/problems/valid-parentheses/ Valid Parentheses - LeetCode 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 스택 클래스를 따로 구현하여 pop, push 메서드를 구현해줘도 되나 편의상 솔루션 클래스 안에 리스트 형식의 스택을 구현했다. class Solution: def isValid(self, s: str) -> bool: stack = [] for c in s: if c == "[" or c =..
https://leetcode.com/problems/number-of-islands/ Number of Islands - LeetCode 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 from collections import deque class Solution: # grid, m, n은 bfs함수와 numIslands함수에서 모두 참조할 수 있도록 클래스 변수로 선언 grid: [[str]] m: int n: int def bfs(self, start_i, start_j)..
1. BFS: Breadth-First Search 너비 우선 탐색 BFS에서는 큐를 활용한다. 너비 우선 탐색이라는 개념과 FIFO의 특징을 생각해 보면 쉽게 이해할 수 있다. 큐를 사용하여 큐에 먼저 들어간 노드들을 먼저 팝해주는 것. from collections import deque def bfs(graph, node, visited): queue = deque([node]) # 첫 번째 노드로 큐를 만들어줌 visited[node] = True # 해당 노드 방문 기록 while queue: # 큐에 요소가 남아있는 동안 n = queue.popleft() # 큐의 앞에서 요소 빼줌 print(n, end = " ") # 해당 요소 출력 for i in graph[n]: # 해당 요소의 자식 ..
1. 버블 정렬 시간복잡도: O(n^2) # 기본 구현 def bubble_sort(arr): for i in range(len(arr) - 1, 0, -1): for j in range(i): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] # 최적화: 스왑이 일어났는지 여부를 체크해줌으로써 정렬이 이미 완료되어있는 경우(즉 스왑이 일어나지 않은 경우) # 더 효율적으로 작동 def bubble_sort(arr): for i in range(len(arr) - 1, 0, -1): swapped = False for j in range(i): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1..
팀 프로젝트로 낸 앱 한글킹과 관련하여, 공식적으로는 끝난 프로젝트지만 몇 가지 중요한 업데이트를 준비하고 있다. 고칠 점이 아직 많이 있지만 무엇보다도 아무래도 외국인들을 타겟으로 하는 한글 공부 앱이기 때문에 최대한 다양한 언어로 로컬라이징하는 게 중요하다고 생각한다. 그래서 나를 시작으로 팀원들끼리 각각 언어 두 개씩을 맡아 번역을 하고(=구글 번역기를 돌리고) 앱에 새 언어를 업뎃하는 방식으로 작업을 진행하기로 했다. 지난 주에 끝내야 했지만 바쁘다는 핑계로 어제가 되어서야 시작했다. 가위바위보에서 져서 첫 타자가 되었는데, 우리 프로젝트는 번역되어야 할 문자열들이 스토리보드와 뷰컨트롤러에 불규칙적으로 나뉘어 적혀있었다. 따라서 아무 가이드라인 없이 모두가 맨땅에 헤딩하듯 시작한다면 쓸 데 없는 ..
10년지기 친구를 만났다. 같은 중학교를 나왔지만 말을 해본 것은 고등학교 때가 처음. 내가 아는 사람들 중 공부 가장 잘 하는 사람 탑쓰리 안에 든다고 해도 될 것 같다. 대형펌에 컨펌을 받고 지금은 군대에 가 있는 친구인데, 2월에 한번 보고 8개월만에 처음 보는 자리였다. 오랜 친구들은 참 신기하다. 아무리 오랜만에 봐도 아무런 위화감이 느껴지지 않는다. 어제 만났던 것처럼 편안하다. 곧 좋은 소식이 있을 친구에게 축하의 말을 건네고, 내가 예전에 몇 번 갔던 맛집을 소개해줬다. 정작 밥을 산 것은 친구지만. 취업턱이라고 했다. 나도 머지않아 취업턱을 낼 수 있는 날이 오기를. 친구에게 따로 표현한 적은 없지만 난 그 친구는 맘만 먹으면 뭐든 할 수 있는 친구라고 생각했다. 그런 친구들이 주변에 몇..