전체 글

전체 글

    구현) 14503. 로봇 청소기

    문제 출처 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 풀이 # 피드백 # 1. 종료 조건의 경우의 수를 늘 먼저 쓰고, 그 나머지 경우에 프로세스를 전개하자. n,m = map(int,input().split()) r,c,dir = map(int,input().split()) board=[] dx=[-1,0,1,0] dy=[0,1,0,-1] for i in range(n): board.append(list(map(int,input()..

    구현) 14891. 톱니바퀴

    문제 출처 : https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 풀이 n=4 a=[list(input()) for _ in range(n)] k=int(input()) for _ in range(k): tg,dir = map(int,input().split()) tg = tg-1 d=[0]*n # 각 톱니의 회전 여부. 0 = 회전 X. 1 = 시계방향, -1 = 반시계방향 d[tg]=dir # 왼쪽 톱니바퀴 연쇄적으로 구하기 for i in..

    수학) 4375. 1

    출처 : https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 풀이 import sys input = sys.stdin.readline while True: try: n = int(input()) except: break num=0 cnt=1 while True: num = num*10 + 1 num = num % n if num == 0: print(cnt) break cnt+=1

    구현) 14499. 주사위 굴리기

    출처 : https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net import sys input = sys.stdin.readline n,m,x,y,k = map(int,input().split()) board = [] for _ in range(n): board.append(list(map(int,input().split()))) cmds = list(map(int,input().spl..

    구현) 16926. 배열 돌리기 1

    구현) 16926. 배열 돌리기 1

    출처 : https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net import sys input = sys.stdin.readline n,m,r = map(int,input().split()) a=[] for _ in range(n): a.append(list(map(int,input().split()))) # 그룹의 개수는 n//2 과 m//2 중 최솟값 g..

    구현) 16935. 배열 돌리기 3

    문제 https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 풀이 import sys input = sys.stdin.readline n,m,r= map(int,input().split()) a=[] for i in range(n): a.append(list(map(int,input().split()))) cmds = list(map(int,input().split())) d..