파이썬 144

[백준] 13460 구슬 탈출2 python

www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net delta = [(-1, 0), (1, 0), (0, -1), (0, 1)] def backtrack(inboard, inred, inblue, ind=0): global result, cnt, delta # if result == 1: # return if ind == 10: return else: for i in range(4): tmp_board = [in..

STUDY/Algorithm 2021.04.14

[백준] 13459 구슬 탈출 python

www.acmicpc.net/problem/13459 13459번: 구슬 탈출 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net delta = [(-1, 0), (1, 0), (0, -1), (0, 1)] def backtrack(inboard, inred, inblue, ind=0, arr=[]): global result, delta if result == 1: return if ind == 10: return else: for i in range(4): tmp_board = [inboa..

STUDY/Algorithm 2021.04.14

[백준] 10844 쉬운계단수 python

www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net n = int(input()) dp = [[0] * 10 for _ in range(101)] for i in range(1, 10): dp[1][i] = 1 for i in range(2, n + 1): for j in range(10): if j == 0: dp[i][j] = dp[i - 1][1] elif j == 9: dp[i][j] = dp[i - 1][8] else: dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j + 1] print(sum(dp[n]) % 1000000000) dp[5]..

STUDY/Algorithm 2021.04.13

[백준] 2579 계단오르기 python

www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net n = int(input()) stair = [0] + [int(input()) for _ in range(n)] if n == 1: print(stair[-1]) else: dp = [0] * (n + 1) dp[0] = stair[0] dp[1] = max(stair[0] + stair[1], stair[1]) dp[2] = max(stair[0] + stair[2], stair[1] + stair[2]) for i i..

STUDY/Algorithm 2021.04.13

[프로그래머스] LEVEL2 문자열 압축, python

programmers.co.kr/learn/courses/30/lessons/60057# 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr def solution(s): len_s = len(s) answer = len_s if len_s == 1: return answer cnt = 1 while cnt < len_s //2 + 1: i = 0 zip_val = 0 zip_string = '' while i < len_s: tmp_s = s[i:i + cnt] if tmp_s == s[i + cnt:i..

STUDY/Algorithm 2021.04.04

[프로그래머스] [3차] n진수 게임 python

programmers.co.kr/learn/courses/30/lessons/17687# 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr from math import sqrt def solution(n, t, m, p): answer = '' order = 0 break_chk = False number, length = 0, 1 n_number = '0' while True: for i in range(length): order = (order + 1) % m if order == p%m:..

STUDY/Algorithm 2021.04.01

[백준] 1941 소문난 칠공주 python

www.acmicpc.net/problem/1941 1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5*5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작 www.acmicpc.net matrix = [input() for _ in range(5)] delta = [(-1, 0), (1, 0), (0, -1), (0, 1)] result_set = set() def backtrack(arr, index=0, S=0, Y=0): tmp = arr if Y > 3: return if index == 6: arr.sort() result_set.add(tuple(arr)) else: adjacents..

STUDY/Algorithm 2021.03.29

[백준] 2660 회장뽑기 python

www.acmicpc.net/problem/2660 2660번: 회장뽑기 입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터 www.acmicpc.net from collections import deque def bfs(queue): visited = [0] * (n + 1) visited[queue[0]] = 1 while queue: x = queue.popleft() for adjacent in link_dict[x]: if visited[adjacent]: continue queue.append(adjacent) visited[adjacent] = vi..

STUDY/Algorithm 2021.03.28

[백준] 2636 치즈 python

https://acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net from collections import deque def bfs(q): melting = 0 melt_list = set() while q: x, y = q.popleft() for i in range(4): dx = x + delta[i][0] dy = y + delta[i][1] if dx = h + 2 or dy = w + 2: continue if visited[dx][dy]: continue..

STUDY/Algorithm 2021.03.28