일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- Spring
- 파이썬
- Java #코딩테스트
- 24479
- SpringTokenizer
- 코딩테스트
- 11054
- 9020
- kakaocloudschool
- sequelize
- Spring #Java #Spring Boot
- boj
- 7568
- 11053
- 15552
- 2447
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- Spring #Spring Boot #Java
- python
- 카카오클라우드스쿨
- 카카오 클라우드 스쿨
- kakaocloud
- node
- 1110
- Java #백준 #코딩테스트
- Java #오븐시계 #백준
- Spring #Java #Spring Boot #싱글톤
- 알고리즘
- java
- Today
- Total
목록파이썬 (4)
YoungSoo

이 문제는 알고리즘 유형 중 DFS를 통해 푸는 문제이다 깊이 우선 탐색(DFS, Depth-First Search)은 최대한 깊게 내려갔다가 더 이상 갈 수 없다면 다시 가장 가까운 갈림길로 돌아가 다른 방향을 탐색하는 깊이 우선 탐색 방식이다. 보통 스택 또는 재귀함수로 문제 풀이를 하며 모든 정점을 방문하거나 경로의 특징을 저장해야하는 문제는 DFS를 사용해 풀면 좋습니다. import sys sys.setrecursionlimit(10**9) input = sys.stdin.readline n, m, r = map(int, input().split()) v=[0] * (n+1) graph=[[] for i in range(n+1)] cnt=1 for i in range(m): a, b = map(..

이 색종이 만들기 문제는 백준에서는 분할 정복 알고리즘으로 분류되어 있다. 여기서 분할 정복 알고리즘은 기본적으로 엄청나게 크고 방대한 문제를 조금씩 나눠가면서 푸는 문제인데 재귀 함수랑 비슷하다고 생각이 들어 재귀함수처럼 함수 내에서 자기 자신의 함수를 호출하여 푸는 방식으로 알고리즘을 생각해보았다. 풀이 import sys input = sys.stdin.readline n = int(input()) bd = [list(map(int, input().split())) for _ in range(n)] result = [] def d(x, y, n): color = bd[x][y] for i in range(x, x+n): for j in range(y, y+n): if color != bd[i][j]..

이 문제는 몸무게와 키를 튜플로 정리해 튜플의 순서를 구하는 문제라고 생각하면 쉬운데 문제는 몸무게는 작지만 키가 크거나 키는 작지만 몸무게가 크다면 등수를 매길 수 없어 공동 등수로 처리해야 하는게 핵심이다. import sys input = sys.stdin.readline n = int(input()) arr = [] for _ in range(n): x, y = map(int, input().split()) arr.append((x, y)) for i in arr: cnt = 1 for j in arr: if i[0] < j[0] and i[1] < j[1]: cnt+=1 print(cnt, end=" ") 먼저 문제의 풀이를 보면 배열에 키와 몸무게가 담긴 튜플을 입력받은 수만큼 넣어주고 이중 ..

이 문제는 골드 5정도의 문제로 도전을 했다가 실패해서 다른 분의 풀이를 보고 이해해서 도움이 됐으면 해서 글을 올려봅니다. 먼저 문제를 이해해야하는데 이 문제의 분류는 재귀함수로 분류되어 있어 함수를 만드는 방식으로 풀었고 저는 가장 작은 단위를 3일 때 위의 모양을 제일 작은 단위로 생각하고 이해하면 쉽게 이해했습니다. 9일때의 모양을 보면 가장 작은 단위로 생각한 모양을 *하나로 생각했을 때 가장 작은 단위의 도형이 된 것을 알 수 있었습니다. import sys input = sys.stdin.readline def star(n): if n == 1: return['*'] stars = star(n//3) arr = [] for s in stars: arr.append(s*3) for s in s..