thinking visited 라는 방문체크 리스트를 만들어주고 갈 수 있는 노드를 전부 방문하면서 99번에 도착하는지 확인한다. 코드 (인접리스트 ver) for tc in range(10): # t: 테스크케이스 번호, E: 간선의 개수(길의 개수) t, E = map(int, input().split()) edge_list = [[] for _ in range(100)] edge_input = list(map(int, input().split())) # 화살표 있으면 1로 변경 for i in range(E): start_node = edge_input[i * 2] end_node = edge_input[i * 2 + 1] edge_list[start_node].append(end_node) vis..
🚩 재귀함수 thinking point는 재귀함수로 접근하는 것이다. 처음에 1번 사각형(10x20)이 3개인 경우는 어떻게 해석해야 고민했는데 가로의 길이만을 기준으로 나눠서 생각하면 재귀로 함수를 구성할 수 있다. 코드 def paper_cut(n): if n == 1: return 1 elif n == 2: return 3 return paper_cut(n-1) + paper_cut(n-2) * 2 T = int(input()) for tc in range(1, T+1): N = int(input()) ans = paper_cut(N//10) print("#{} {}".format(tc, ans))
진기는 0초부터 붕어빵을 만들기 시작하며, M초의 시간을 들이면 K개의 붕어빵을 만들 수 있다. N명의 사람들이 오는 시간에 따라 붕어빵을 제공할 수 있는지 없는지를 판별하는 문제이다. thinking 무조건 손님 1명한테는 1개의 붕어빵을 판매하기 때문에 하나씩 카운트를 해주면 된다. 0초부터 M초 마다 붕어를 만듦으로 M, 2M, 3M, ... 초 마다 K, 2K, 3K의 붕어빵이 남는다. 그렇다면 일반적으로 x초 일때의 붕어 생산량과 그 전에 사간 사람의 수를 빼면 x초의 붕어빵 재고를 알 수 있다. 재고가 음수가 되면 다 팔렸다는 뜻이므로 Impossible 을 출력하면 된다. 손님이 온 시간을 arrive_time 이라는 리스트에 담아 올림차순으로 소팅을 해준 후, 소팅한 arrive_time ..
Intro 💡 2차원 배열의 인덱스 접근을 어떻게 할것인가? 아래 그림처럼 m x n 배열을 생각해보자. 배열의 인덱스는 오른쪽으로 갈 수록, 아래로 갈 수록 증가하기 때문에 다음과 같이 쓸 수 있다. 노랭이를 기준으로 봤을 때, 노랭이의 위 아래는 노랭이와 column 인덱스가 동일하고 row 인덱스는 하나씩 차이난다. 노랭이의 좌우는 노랭이와 row 인덱스가 동일하고 column 인덱스는 하나씩 차이난다. 따라서, 인덱스를 활용해서 방향전환을 하고 싶을때는 delta row(dr), delta column(dc) 리스트를 만들고 접근하면 된다 # 상, 우, 하, 좌 dr = [-1, 0, 1, 0] dc = [0, 1, 0, -1] # nr: next row, nc: next column # cr: ..
thinking 도착점의 column 인덱스를 찾아서 역으로 위로 올라가면서 시작점의 column 인덱스를 찾는 방향으로 설정 1. 위로 가는 경우: 왼쪽이나 오른쪽이 1이 나오면 direction 체인지 2. 오른쪽으로 가는 경우: 쭉 가다가 0 나오면 위로 턴 (d: 1 -> 0) 3. 왼쪽으로 가는 경우: 쭉 가다가 0 나오면 위로 턴 (d: 2 -> 0) 반복문을 돌리면서 이동해야 하는데 코드를 도대체 어케 짜야 하는지 감이 안왔다...... 그래서 아래 처럼 그림판으로 일일이 좌표를 찾으며 디버깅을 했다 ^^ 100 x 100 배열이라 눈알 빠질뻔 ㅎ;; 답답하고 멍청해보일지라도 이해에 아주 직빵이었다 ㅎ 위로 쭉 갈때는 column은 동일하고 row만 바뀐다. 이때, 왼쪽이나 오른쪽이 1이면 ..
- 파이썬
- 17406 배열돌리기4
- 알고리즘
- 20056 마법사 상어와 파이어볼
- 삼성코테
- 삼성기출
- git 미러링
- 백준
- react
- Python
- 21609 상어 중학교
- merge에러
- BFS
- 2579 계단오르기
- 프로그래머스
- 브루트포스
- 영어끝말잇기
- dp
- 2018 카카오 공채
- dfs
- swea
- 보석쇼핑
- merge 에러
- 기지국설치
- 20057 마법사 상어와 토네이도
- Total
- Today
- Yesterday