본문 바로가기
반응형

프로그래머스237

(Python/LV2) 리코쳇 로봇 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: from collections import deque def solution(board): visited = [[0] * len(board[0]) for i in range(len(board))] move = [(0,1),(0,-1),(1,0),(-1,0)] visited = set() Q = deque() for idx, i in enumerate(board): for idy.. 2023. 3. 21.
(Python/LV3)숫자 게임 문제 출처:https://school.programmers.co.kr/learn/courses/30/lessons/12987 풀이 : from collections import deque def solution(A, B): idx = 0 A = deque(sorted(A)) B = deque(sorted(B)) count = 0 while len(B) > 0 and len(A) > 0: left, right = A.popleft(), B.popleft() if right > left : count += 1 else: idx += 1 A.appendleft(left) return count idx 인덱스 A,B 를 메모리 땜에 Deauq 하였다 count 는 총 이긴수 어차피 A 의 숫자는 알고 있다, 그.. 2023. 3. 3.
(Python/LV1)바탕화면 정리 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/161990 풀이: def solution(wallpaper): n, m = len(wallpaper), len(wallpaper[0]) s_x, s_y, l_x, l_y = 51, 51, 0, 0 for i in range(n): for j in range(m): if wallpaper[i][j] == "#": s_x = min(s_x, i) s_y = min(s_y, j) l_x = max(l_x, i) l_y = max(l_y, j) return s_x,s_y,l_x + 1,l_y + 1 2023. 3. 2.
(Python/🥇5) 백준알고리즘 14719번: 빗물 문제 출처: https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 풀이: import sys H, W = map(int,input().split(" ")) # H 가로 W 세로 res = 0 for i in range(1, W - 1): # 첫째 칸과 마지막 칸은 물이 안 고임 left_max = max(lst[:i]) right_max = max(lst[i+1:]) min_num = min(left_max, right_max) #.. 2023. 2. 22.
(Python/LV3) 네트워크 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/43162 풀이: from collections import deque def solution(n, computers): graph = [[] for _ in range(n+1)] visited = [False] *(n+1) count = 0 for idx, i in enumerate(computers): for j in range(len(i)): if computers[idx][j] == 1 and idx != j : graph[idx+1].append(j+1) for i in range(1,n+1): if visited[i] == False: dfs(idx,graph,visited) co.. 2023. 2. 21.
(Python/LV2) 무인도 여행 문제 출처: 풀이: import sys sys.setrecursionlimit(10**5) def solution(maps): global totalSum answer = [] maps = [list(map) for map in maps] totalSum = 0 print(maps) def dfs(a, b): global totalSum maps[a][b] = 'X' move = [(1,0),(-1,0),(0,1),(0,-1)] for i, j in move: mx = b + i my = a + j if 0 2023. 2. 20.
반응형