일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 백준
- 컨베이어 벨트 위의 로봇 Python
- Kotlin in action 5장
- Kotlin in action 10장
- 싱글톤 컨테이너
- 고급매핑
- 코틀린인액션
- 코틸린인액션
- 자바 ORM 표준 JPA 프로그래밍 7장
- kotlin in action 정리
- KotlinInAction
- 객체 지향 설계와 스프링
- 백준 13460 Python
- 백준 20055 컨베이어 벨트 위의 로봇
- 코틀린
- Kotlin In Action
- 스프링 핵심 원리 이해
- 7장 고급매핑
- Kotlin in action 3장
- 스프링 핵심 원리
- 20055
- Kotlin in action 6장
- Kotlin
- 기능개발 python
- 20055 컨베이어 벨트 위의 로봇
- spring
- 13460 구슬탈출 2
- Python
- 스프링 컨테이너와 스프링 빈
- 스프링 핵심 원리 - 기본편
- Today
- Total
목록분류 전체보기 (157)
기록하는 습관
[ 좋은 객체 지향 설계의 5가지 원칙 (SOLID 원칙) ] 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open/Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 관계 역전 원칙 1. SRP(Single Responsibility Principle) : 단일 책임 원칙 하나의 클래스는 하나의 책임만 가져야 한다. 변경이 있을 때 영..
문제 www.acmicpc.net/problem/13460 코드 """ 성공 조건: 빨간 구슬을 구멍에 빠뜨리기 실패 조건 1. 파란 구슬이 구멍에 빠지면 실패. 2. 빨간 구슬, 파란 구슬 동시에 구멍에 빠져도 실패. 3. 빨간 구슬과 파란 구슬이 동시에 같은 칸에 있을 수 없다. 4. 10번 이하로 움직여서 빨간 구슬을 구멍으로 빼낼 수 없으면 실패. """ from collections import deque n, m = map(int, input().split()) graph = [] for _ in range(n): graph.append(list(map(str, input()))) visit = [[[[False] * m for _ in range(n)] for _ in range(m)] fo..
문제 www.acmicpc.net/problem/16932 (미완) 예제 통과, 백준 런타임 에러 코드 n, m = map(int, input().split()) graph = [] for _ in range(n): graph.append(list(map(int, input()))) visit = [[0] * 1000 for _ in range(1000)] count = 0 groupNum = 1 group = [0] * 1000002 dx = [-1, 1, 0, 0] # 상, 하, 좌, 우 dy = [0, 0, -1, 1] def dfs(x, y): global count count += 1 visit[x][y] = groupNum for i in range(4): nx, ny = x + dx[i], ..
문제 www.acmicpc.net/problem/2178 코드 from collections import deque n, m = map(int, input().split()) graph = [] for _ in range(n): graph.append(list(map(int, input()))) dx = [-1, 1, 0, 0] # 상, 하, 좌, 우 dy = [0, 0, -1, 1] def bfs(x,y): q = deque() q.append((x,y)) while q: x,y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx = n or ny >= m: # 가장자리 벽 pass contin..
DFS # dfs 정의 def dfs(graph, v, visited): visited[v] = True print(v, end=' ') for i in graph[v]: if not visited[i]: dfs(graph, i, visited) graph = [ [], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7] ] visited = [False] * 9 dfs(graph, 1, visited) BFS # bfs 정의 from collections import deque def bfs(graph, v, visited): queue = deque([v]) visited[v] = True while queue: v = queue..
문제 www.acmicpc.net/problem/1068 코드 N = int(input()) parents = list(map(int, input().split())) delete = int(input()) def dfs(delete_node, arr): # delete_node를 부모로 갖는 원소 삭제 parents[delete_node] = -2 for i in range(len(parents)): if delete_node == parents[i]: dfs(i, parents) def main(): dfs(delete, parents) count = 0 for i in range(len(parents)): # leaf node 개수 세기 if parents[i] != -2 and i not in p..
문제 www.acmicpc.net/problem/9934 코드 K = int(input()) # 입력 받는 K building = list(map(int, input().split())) # 입력받는 배열 answer = [0] * (2 ** K + 1) index = 0 # 입력 받은 배열 building을 순회할 때 사용하는 index def inorder(i, depth): # 중위 순회 global index if depth == K: # base condition answer[i] = building[index] index += 1 else: inorder(i * 2, depth + 1) answer[i] = building[index] index += 1 inorder(i * 2 + 1, de..
HTTP 완벽 가이드 2장 URL과 리소스 0. URL 구조 Schem, host, path 정도가 URL에 항상 포함해야 하는 요소이다. 단축 URL 단축 URL은 간편 URL 이라고도 불리며 긴 URL을 짧게 만들어 사용하기 편하게 만들어 준다. 구글이나 트위터 등 많은 부분에서 쓰인다. 쿠팡 파트너스 같은 URL이 단축 URL이라고 생각하면 된다. (인턴 때 했던 단축 URL 만들기 생각하면 된다.) 상대 URL 어떤 위치를 기준으로 상대적인 위치를 나타낸다. 현재 위치는 “./” 상대 위치는 “../” 으로 나타낸다. 가정) first 폴더에 test1.html, second 폴더가 있고, second 폴더에 test2.html이 있다. 아래와 같은 URL이 있다면 ./test2.html 과 같이..