탐색이란? 많은 데이터 중에서 원하는 데이터를 찾는 과정 대표적인 그래프 탐색 알고리즘으로 DFS, BFS가 있는데 코딩테스트에서 자주 등장하는 유형 자료구조 스택 자료구조 ( = 선입후출) stack = [] stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.append(1) stack.append(4) stack.pop() print(stack) # 5 2 3 1 큐 자료구조 ( = 선입선출) from collections import deque queue = deque() # 리스트말고 덱 라이브러리 생성하기 위해 queue.append(5) queue.append(2) queue.append(3) qu..
n, m = map(int, input().split()) visit = [[0] * m for _ in range(n)] # 방문 위치를 저장하기 위한 맵 x, y, d = map(int, input().split()) visit[x][y] = 1 gameMap = [] for i in range(n): gameMap.append(list(map(int, input().split()))) # 북 동 남 서 = 상 우 하 좌 dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] def turn_left(): global d d -= 1 if d == -1: d = 3 count = 1 # 현재 위치 포함 turn_time = 0 while True: turn_left() nx = x+dx[..
n = input() col = int(ord(n[0])) - 96 row = int(n[1]) result = 0 step = [(2, 1), (2, -1), (-2, 1), (-2, -1), (1, 2), (1, -2), (-1, 2), (-1, -2)] # 이동할 수 있는 가지 수를 저장함 for i in step: n_col = col+i[0] # i의 슬라이스는 x,y, step의 슬라이스는 좌표들 n_row = row+i[1] if n_col >= 1 and n_col = 1 and n_row
구현 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 주로, 2차원 공간을 사용함 구현 문제란? 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 알고리즘은 간단한데 코드가 길어지는 문제 소수점, 실수를 다루는 문제 문자열을 끊어 처리하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 예제 4-1. 상하좌우 # 나의 풀이 n = int(input()) mv = input().split() x, y = 1, 1 for i in mv: if x < 1 and y < 1: continue else: if i == 'R': y += 1 print(x, y) elif i == 'L': y -= 1 print(x, y) elif i == 'U': x -= 1 print(x, y) elif i == '..
📖 question https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net ✍️ answer n = int(input()) result = 1 for i in range(1, n+1): result *= i # 0을 입력했다면 범위가 (1,1)이라 반복문을 실행하지않음 # result만 출력되어 1이 출력됨 print(result)
📖 question https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net ✍️ answer n, m = map(int, input().split()) num = list(map(int, input().split())) result = [] for i in num: if i < m: result.append(i) print(*result)