문제 링크 https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net 문제 풀이 문제를 따라가며 조건에 맞게 구현해나가면 어렵지 않게 풀 수 있습니다. 다소 비효율적으로 푼 것 같기도 하지만 주어진 숫자 범위가 매우 작아 시간적인 문제는 없었습니다. 저는 세 개의 함수로 나누어 풀이했습니다. 1) 모눈종이를 붙일 수 있는지 여부를 확인하는 함수 def check(r, c, sticker, start_x, start_y): for x in range(r): ..
시뮬레이션
문제 링크 https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 문제 풀이 1) 4개 이상 연속된 뿌요들을 찾아 삭제하는 함수 2) 중력 작용으로 뿌요를 아래로 떨어뜨리는 함수 이렇게 두 가지 함수로 분리하여 작성했습니다. 1) 4개 이상 연속된 뿌요들을 찾아 삭제하는 함수 def burst(i, j, color): global flag q = deque() q.append([i, j]) visited[i][j] = 1 pu..
문제 링크 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 문제 풀이 # 세로 크기 n, 가로 크기 m n, m = map(int, input().split()) # 방문 위치 저장 visited = [[0] * m for _ in range(n)] # 로봇 청소기 좌표와 바라보는 방향 x, y, direction = map(int, input().split()) # 현재 좌표 방문 처리 visited[x][y] = 1 # 전체 맵 ar..