![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/SQzxB/btqGPNrzHHD/tuYXJKRE1iHGZ2QtoE1920/img.png)
문제 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토� www.acmicpc.net 풀이 #2178 미로탐색(https://yuuj.tistory.com/85)과 유사한 문제 import sys from collections import deque M, N = map(int, sys.stdin.readline().split(" ")) box = [] dr = [-1, 1, 0, 0] dc = [0, 0, -1, 1] for _ in range(N): box.append(list(map(int, sys.stdin.readl..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LBEUs/btqGGZN2dcz/Gvjc5r6mLdgK7Yg6DxPJck/img.png)
문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 bfs의 기본이 되는 문제. 새로 추가된 애(maze[i][j]로부터 파생된 애)의 자리에 기존(maze[i][j]) + 1을 해주는것이 가장 중요하다. import sys from collections import deque # N * M 미로 N, M = map(int, sys.stdin.readline().split(" ")) maze = [] for _ in range(N): maze.append(list(map(int, sys.stdin.readline().strip()))..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bf33Zw/btqGIil3wir/JXZcbuYra0PNAThp1lHod0/img.png)
문제 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다. import sys from collections import deque # N: 노드 수 / M: 간선 수 / V: 탐색 시작 지점 N, M, V = map(int, sys.stdin.readline().split(" ")) # 인접 리스트 adj = [[] for _ in range..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bqWQyu/btqGHyiB1Wb/1Gow7kJZphho3hU5tJ96KK/img.png)
문제 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어�� www.acmicpc.net 풀이 인접리스트 adj와 visited 배열을 통해 bfs로 풀었다. 마지막에 1을 빼준건 1번 컴퓨터를 제외하기 위함 import sys from collections import deque # N: 노드 수 / M: 엣지 수 N = int(sys.stdin.readline()) M = int(sys.stdin.readline()) # 인접 리스트 adj = [[] for _ in range(N)] visited = [0 for _ in range(N)] ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cff41K/btqGNCQ9R1B/Gkin0uK1bKDfiDUKO4wvW1/img.png)
문제 5430번: AC 문제 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있 www.acmicpc.net 풀이 나를 너무너무 힘들게했던.... 실버2에 덱문제라고 너무 만만하게 봤는지 런타임에러, 시간초과, 틀렸습니다를 모두 겪고나서야 겨우 맞았다. 먼저 1. R이 들어올때마다 reverse를 하면 절대 안된다 -> 무조건 터짐 따라서 reverse flag을 두고 R이 들어올때마다 1->0 0->1으로 바꿔준 후, 마지막에 reverse flag이 1이면 출력하기 전에 한번 뒤집어줬다. 2. 출력형식이 [1, 2, 3]이 아니라 [1,2,3] 이다. 여..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bbTinG/btqGK23t4Yg/AJ2nvXDCSOV43tsIIrFKp0/img.png)
문제 1966번: 프린터 큐 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료�� www.acmicpc.net 풀이 import sys from collections import deque TC = int(sys.stdin.readline()) for _ in range(TC): N, M = map(int, sys.stdin.readline().split()) queue = deque(map(int, sys.stdin.readline().split())) count = 0 m = max(queue) while queue: if len(queue) == 1: queu..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Qp9BM/btqGGGHwDmi/CS0TXUuknd7VnN2wBk1du1/img.png)
문제 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 풀이 문제에서 n번째 자리 사람이라고 해서 [1,2,3,4] 에서 2번째 자리 사람(3)이 없어지면 [1,2,4]가 되는데 다시 2번째 자리인 4가 답이 되는거 아닌가? 생각했는데 자리가 중요한게 아니라 시작부터 n간격으로 있는 다음 사람을 생각해서 풀면 된다. 예를 들면 [1,2,3,4,5,6,7,8,9] 에서 3, 6, 9 이런식! import sys from collections import deque queue = deque() N, K = map(int, sys.stdin.readline().split()) for i in range..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cUea0Y/btqGC61fQ61/mi3MpPV8MD522rBWCelZo0/img.png)
문제 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 from collections import deque queue = deque() n = int(input()) for i in range(1, n+1): queue.append(i) while queue: if len(queue) == 1: print(queue.popleft()) else: queue.popleft() queue.append(queue.popleft())
- Total
- Today
- Yesterday
- 코틀린 뷰페이저
- 안드로이드 카카오톡으로 로그인
- 백준 1644
- 데이터바인딩 뷰바인딩 차이
- 투포인터 알고리즘 파이썬
- 파이썬 최대공약수
- 백준 1806
- 안드로이드
- 소수 구하기 파이썬
- 시뮬레이터 키보드
- 백준 2003
- 카카오 키해시
- flutter simultor
- 안드로이드 키해시
- 백준
- kotlin fragment
- 프로그래머스
- TextFormField keyboard
- 코틀린 바텀네비게이션
- counting sort
- 코틀린 리스트뷰
- 카카오톡으로 로그인 오류
- 투포인터 알고리즘
- 백준알고리즘
- 코틀린 데이터바인딩
- 카카오 기출
- 전화번호목록 파이썬
- Kotlin
- 코틀린
- 코틀린 뷰바인딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |