일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- U_stage
- 프로그래머스
- Level2_PStage
- Level1
- 단계별문제풀이
- 부스트캠프_AITech3기
- 백트랙킹
- 이진탐색
- ODQA
- 글또
- python3
- dfs
- 구현
- 주간회고
- 알고리즘스터디
- 이코테
- 그리디
- 알고리즘_스터디
- 정렬
- 다시보기
- 백준
- dp
- 개인회고
- 파이썬 3
- 그래프이론
- mrc
- 부스트캠프_AITech_3기
- 최단경로
- 기술면접
- Level2
- Today
- Total
목록전체 글 (335)
국문과 유목민

3달 만에 코딩으로 다시 돌아왔다... 9월에 '이것이 코딩 테스트다'를 공부하기로 시작했지만... 대학원 준비라는 핑계로 코딩을 놓았었다. 대학원과 차선책으로 찾은 다른 교육마저 떨어져 알람이 없는 삶을 살던 도중 알고리즘 스터디 제안이 왔다. 더 이상 이렇게 살 수 없다해서 이코테 책을 다시 폈는데 이전에 풀었던 문제인데도 너무 새롭다... 마치 오랜만에 만난 고등학교 친구같은 느낌으로 반가운데 집에 가고 싶은 역설적인 느낌이었다. 아무튼 오늘부터 스터디를 시작하며, 2일차까지는 이전에 배웠던 문제들을 다시 한 번 풀면서 감을 익혀야겠다. 그리고 3일차부터는 이전에 풀었던 문제들 중에서 중요한 개념이 있는 문제 등을 풀면서 핵심 코드를 암기할 계획이다. 추가적으로 금요일에 코딩테스트가 예정되어 있기에..
1. 문제 - (1, 1)에서 시작해서 (N, M)까지 가기 위한 최소의 거리를 구하는 코드 2. 코드 구현 from collections import deque n, m = map(int,input().split()) maze = [] for _ in range(n): maze.append(list(map(int, input()))) # 상하좌우 px = [-1, 1, 0, 0] py = [0, 0, -1, 1] def dfs(x, y): deq = deque() deq.append((x, y)) while deq: dx, dy = deq.popleft() for i in range(4): nx = dx + px[i] ny = dy + py[i] if nx >= n or nx = m..
1. 문제 - 특이하게 생긴 얼음 틀에 얼음을 몇 개나 만들 수 있는지를 구함 - 주변에 유사한 값의 개수를 찾는다. 2. 코드 구현 n, m = map(int, input().split()) ice = [] for _ in range(n): ice.append(list(map(int, input()))) # True의 개수만 셀 수 있게 만들어준다. def dfs(x, y): if x =n or y>= m: return False if ice[x][y]==0: ice[x][y] = 1 dfs(x-1, y) dfs(x, y-1) dfs(x+1, y) dfs(x, y+1) return True return False result = 0 for i in range(n): fo..
1. 문제 - 게임 판 위에서 캐릭터를 이동시켜 방문한 칸의 수를 출력하는 프로그램 2. 코드 # 문제 입력 조건 n, m = map(int, input().split()) x, y, d = map(int, input().split()) tmp = [[0]*n for _ in range(m)] game_map = [] for i in range(m): game_map.append(list(map(int,input().split()))) # 북, 동, 남, 서 (순서 주어짐) # 행 열 dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] # 왼쪽으로만 돌기 때문 def turn_left(): global d d -= 1 if d == -1: d = 3 turn_time = 0 tmp[x][..
1. 문제 요약 - 체스판에서 특정 위치에서 나이트가 이동할 수 있는 경우의 수를 출력하는 코드 2. 코드 pos = input() y = int(pos[1]) x = int(ord(pos[0])) - ord('a') + 1 move = [(1, 2), (-1, 2), (-1, -2), (1, -2), (2, 1), (2,- 1), (-2, 1), (-2, -1)] count = 0 for i, j in move: dx = x + i dy = y + j if dx 0 and dy 0: count += 1 print("경우의 수는: ", count) 3. 코멘트 - input의 범위를 보고 완전탐색으로 구현이 가능해보이는지 우선 확인한다. - 알파벳을 ord() 로 구현한 것이 깨알 스킬이라고 할 수 있다.