본문 바로가기

분류 전체보기433

[백준 2493번] 탑 n = int(input()) tops = list(map(int,input().split())) answer = [0 for _ in range(n)] stack = [] for i,value in enumerate(tops): while stack: if stack[-1][1] 2023. 8. 29.
[백준 17070번] 파이프 옮기기1 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net n = int(input()) house = [list(map(int,input().split())) for _ in range(n)] visited = [[False]*n for _ in range(n)] dx_r, dy_r = [0,1], [1,1] # 가로일 경우 움직일 수 있는 방향 dx_c, dy_c = [1,1], [0,1] # 세로일 경우 움직일 수 있는 방향 dx_d, dy_d = [0,1,1], [1,0,1] # 대각선일 .. 2023. 8. 28.
[백준 14500번] 테트로미노 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net n, m = map(int,input().split()) area = [list(map(int,input().split())) for _ in range(n)] visited = [[False]*m for _ in range(n)] dx = [-1,1,0,0] dy = [0,0,-1,1] answer = -1 max_value = max(map(max,area)) def dfs(x,y,movement,value): global answer # 가지치기(나머지 값들.. 2023. 8. 25.
[백준 9205번] 맥주 마시면서 걸어가기 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net from collections import deque def calculate_distance(x1,y1,x2,y2): return abs(x1-x2) + abs(y1-y2) def bfs(x,y): global end_x, end_y queue = deque([(x,y)]) visited = set() while queue: x, y = queue.popleft() if calculate_distance(x,y,end_x,end_y) 2023. 8. 24.
[JS Deep Dive] 7장 연산자 연산자(operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. 또한 피연산자는(operand) 값으로 평가될 수 있는 표현식 이어야 한다. // 산술 연산자 5 * 4 // -> 20 // 문자열 연결 연산자 'My name is ' + 'Lee' // -> 'My name is Lee' // 할당 연산자 color = 'red' // -> 'red' // 비교 연산자 3 > 5 // -> false // 논리 연산자 true && false // -> false // 타입 연산자 typeof 'Hi' // -> string 그리고 피연산자와 연산자의 조합으로 이뤄진 연산자 표현식도 값으로 평가될 수 있는 표현식이다. 7.1 산술.. 2023. 8. 24.
[백준 9207번] 페그 솔리테어 9207번: 페그 솔리테어 각 테스트 케이스에 대해서, 핀을 움직여서 남길 수 있는 핀의 최소 개수와 그 개수를 만들기 위해 필요한 최소 이동 횟수를 출력한다. www.acmicpc.net from collections import deque n = int(input()) dx = [-1,1,0,0] dy = [0,0,-1,1] dx_2 = [-2,2,0,0] dy_2 = [0,0,-2,2] result = [] def move(movetime): global min_count, min_movement pin_list = [] for i in range(5): for j in range(9): if area[i][j] == 'o': pin_list.append((i,j)) if len(pin_list) .. 2023. 8. 23.