Python 929

백준(Python) 14500번 테트로미노 풀이

Python으로 구현한 14500번 테트로미노 문제 풀이입니다. https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net # Case 1 n, m = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(n)] max_value = 0 # 테트로미노 좌표 정보 (기준점은 가장 왼쪽 + 위쪽에 위치한 정사각형) case = [ # case 1 (ㅡ, ㅣ) [[0,..

백준(Python) 21608번 상어 초등학교 풀이

Python으로 구현한 21608번 상어 초등학교 문제 풀이입니다. https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net from heapq import heappush, heappop # 만족도 0이면 0, 1이면 1, 2면 10, 3이면 100, 4면 1000 def satisfied() : result = 0 for r in range(n) : for c in range(n) : if not board[r][c] : continue ..

백준(Python) 14889번 스타트와 링크 풀이

Python으로 구현한 14889번 스타트와 링크 문제 풀이입니다. https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net def cal_diff(team1, team2) : sum_team1 = 0 sum_team2 = 0 for i in range(len(team1)) : for j in range(len(team1)) : sum_team1 += board[team1[i]][team1[j]] sum_team2 += board[team2[i]][team2[j]] retu..

백준(Python) 13460번 구슬 탈출 2 풀이

Python으로 구현한 13460번 구슬 탈출 2 문제 풀이입니다. https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net from collections import deque n, m = map(int, input().split()) board = [] for i in range(n) : board.append(list(input())) for j in range(m) : if board[i][j] ..

SWEA[D1] (Python) 1545번 거꾸로 출력해 보아요 풀이

Python으로 구현한 1545번 거꾸로 출력해 보아요 문제 풀이입니다. https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV2gbY0qAAQBBAS0&categoryId=AV2gbY0qAAQBBAS0&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=2&&&&&&&&&& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com n = int(input()) ..

프로그래머스(Python) Level.1 키패드 누르기 풀이

Python으로 구현한 67256번 키패드 누르기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr def solution(numbers, hand): answer = '' left_present = 10 right_present = 12 for i in numbers : if i i..

프로그래머스(Python) Level.1 크레인 인형뽑기 게임 풀이

Python으로 구현한 64061번 크레인 인형뽑기 게임 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): answer = 0 case = [0] for i in range(len(moves)) : for j in range(len(board)) : if board[j][moves[i]-1] != 0 : case.append(board[j][moves[i]-1]) boa..

백준(Python) 9465번 스티커 풀이

Python으로 구현한 9465번 스티커 문제 풀이입니다. https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net import sys input = sys.stdin.readline t = int(input()) for _ in range(t) : n = int(input()) dp = [list(map(int, input().split())) for _ in range(2)] if n == 1 : print(max(dp[0][0], dp[..

백준(Python) 10844번 쉬운 계단 수 풀이

Python으로 구현한 10844번 쉬운 계단 수 문제 풀이입니다. https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) dp = [[0 for i in range(10)] for j in range(n + 1)] 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][j+1] elif j == 9 : dp[i][j]..

프로그래머스(Python) Level.1 K번째수 풀이

Python으로 구현한 42748번 K번째수 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): answer = [] for i in range(len(commands)) : arr = array[commands[i][0]-1:commands[i][1]] arr.sort() answer.append(arr[commands[i][2]-1]) return answer 1. 전달받은 commands의 길이만큼 반..