https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net import sys N, M = map(int, sys.stdin.readline().split()) r, c, d = map(int, sys.stdin.readline().split()) s = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] #현재 위치 x ..
https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net import sys N = str(sys.stdin.readline()) N = N.replace('9', '6') res = 0 for i in range(9): cnt = N.count(str(i)) if i == 6: cnt = (cnt // 2 + cnt % 2) if res < cnt: res = cnt print(res)
https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net import sys from collections import deque N = int(sys.stdin.readline()) s = [[0] * N for _ in range(N)] for _ in range(int(sys.stdin.readline())): r, c = map(int, sys.stdin.readline().split()) s[r-1][c-1] = 1 change = [] L = int..
https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 � www.acmicpc.net import sys, collections s = [] for _ in range(4): s.append(collections.deque(list(input()))) K = int(sys.stdin.readline()) R = [list(map(int, sys.stdin.readline().split())) for _ in range(K)] #왼쪽 톱니바퀴 확인 def left(num, ..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net * Python3에서는 시간초과 / PyPy3으로 통과 import sys N, M = map(int, sys.stdin.readline().split()) s = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] t = [ [[0, 1], [0, 2], [0, 3]], #type1 [[1, 0], [2, 0], [3, 0]], ..
https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net s1 = list(input()) s2 = list(input()) s1_len = len(s1) s2_len = len(s2) dp = [[0] * (s2_len+1) for _ in range(s1_len + 1)] for i in range(s1_len): for j in range(s2_len): if s1[i] == s2[j]: dp[i+1][..
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net import sys from itertools import combinations N, M = map(int, sys.stdin.readline().split()) s = [] for _ in range(N): s.append(list(map(int, sys.stdin.readline().split()))) chicken = [] #모든 치킨집의 위치 for i in rang..
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 import sys from itertools import combinations N = int(sys.stdin.readline()) s = [] for _ in range(N): s.append(list(map(int, sys.stdin.readline().split()))) people = [i for i in range(N)] com_people = list(combinations(people, N//2)) l..