목록Computer Science (16)
재 현
문자열 문제 주의할점 1) 소문자,대문자 파악 2) 'a'~'z' 범위 slice 1. a[start:end] # start부터 end-1까지 item 2. a[start:] # start부터 list끝까지 item 3 a[:end] # 처음부터 end-1까지의 item 4. a[:] #리스트의 모든 item 5. a[:-1] # 맨 뒤의 item 6. a[-2:] # 맨 뒤에서부터 item 2개 7. a[:-n] # 맨 뒤의 item n개 빼고 전부 import string string.ascii_lowercase # 소문자 abcdefghijklmnopqrstuvwxyz string.ascii_uppercase # 대문자 ABCDEFGHIJKLMNOPQRSTUVWXYZ string.ascii_lett..

BFS ( 너비 우선 탐색) - 가까운 노드부터 우선적으로 탐색(최단거리) - 큐 자료구조 이용 1. 탐색노드를 큐에 삽입, 방문처리 2. 큐에서 노드를 꺼낸 뒤에 인접노드 중 방문하지 않은 노드를 모두 큐에 삽입하고 방문처리한다 3. 더이상 큐에서 꺼낼 노드가 없을 때까지 반복한다. - 큐에서 꺼내 인접노드 파악 후 처리한다. #미로 탈출 최소거리 구하기, '1'로 안된 거리 BFS : 시작 지점에서 가까운 노드부터 차례대로 그래프 모든 노드를 탐색, 상하좌우 연결된 모든 노드거리가 1로 동일하다. step 1. 1찾기 step2. 1->2 1260, 2644, 2178, 6593, 5427(★), 3055(★), 2206(★), 7576, 7652, 5012, 1697, 16397, 9019(★), ..

탐색이란 ? - 많은 양의 데이터 중에서 원하는 데이터를 찾는 것 사전 지식 1) 스택 자료구조 (박스 쌓기) 2. 큐 자료구조 ( 파이썬에선 deque 활용) 3) 재귀함수 * 재귀함수 (Recursion Function) : 자기 자신을 다시 호출 def recursive(i): recursive(i) #재귀함수는 종료조건을 반드시 명시해야한다. if i == 100: return #팩토리얼 함수 def factorial(n): if nb if a % b == 0 return b else: return gcd(b,a%b) * DFS ( Depth First Search) - 깊이 우선 탐색 - 그래프의 깊은 부분을 우선 탐색 - DFS는 스택자료구조 or 재귀함수를 사용한다 1. 탐색 시작 노드를 스..
기초 배경지식 + 구현력 1) 기초 배경지식 [코딩 문법, 시·공간 복잡도] + 자료구조 [ 배열, 트리, 그래프, 힙, BST, 스택 ,큐] + 알고리즘 [ DFS, BFS, 정렬, 백트래킹, DP, 분할정복, 최단거리] 2) 구현력 백준 랭작 -> 양질 문제 #컴퓨팅적 사고력 ( 배경지식을 공부했어도 문제 접근조차 못할 때) 한정된 시간복잡도 & 할당된 메모리를 머릿속에 생각하며 문제 풀기 => BOJ 모든 [별찍기] && [n,m] 시리즈 && SWEA 난이도 1~2문제 많이 풀기 #요즘 코테에 자주 출제되는 유형 dfs, bfs, 최단거리, dp, 해쉬, 이분탐색, 완전탐색, 투포인터, 문자열 # 알고리즘 삼성SW테스트에선 초급에서만 출제. 알고리즘 초급 : 완전탐색, DP초급, 큐, 스택, DF..