시뮬레이션 7

[14499] 주사위 굴리기 in python

문제출처 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 in Java HTML 삽입 미리보기할 수 없는 소스 주사위 회전 시 주사위의 윗면, 앞면, 오른쪽면을 각각 1,2,3 으로 숫자를 지정해준다. 그러면 필연적으로 아랫면, 뒷면, 왼쪽면은 각각 6, 5, 4가 되어야한다. 왜냐하면 일반적인 주사위는 마주보는 양면의 합이 7이 되어야하기 때문이다. 이를 이용하면 쉽게 문제를 ..

[n1531] 투명 in python

왼쪽 아래 모서리, 오른쪽 위 모서리 좌표라고 해서 오른쪽 위 모서리 y좌표의 값이 왼쪽 아래 모서리 y좌표의 값보다 항상 작은 줄 알았으나 그게 아니었다! x,y 그래프를 생각했어야했다 n, m = map(int, input().split()) array = [[0 for _ in range(101)] for _ in range(101)] for _ in range(n): x1, y1, x2, y2 = map(int, input().split()) # 왼쪽 아래 모서리, 오른쪽 위 모서리 좌표 for i in range(y1, y2 + 1): for j in range(x1, x2 + 1): array[j][i] += 1 answer = 0 for i in range(101): for j in rang..

카테고리 없음 2021.11.25

[n14503] 로봇 청소기 in python

문제에 나와있는 순서대로만 구현하면 풀리는 문제! 빈칸 : 0, 벽 : 1, 청소한 칸 : 2로 구분하였다. 처음에는 청소한 구역도 1로 처리했는데 이렇게 하면 2번의 c,d조건을 판별할 수 없었다. 그리고 1번이랑 2번을 각각 독립적으로 움직이게끔 하는 과정이 살짝 버거웠다 ㅎ.. 그리고 % 연산자를 활용해야 하는 부분을 잘 기억해야한다.. 매번 헷갈리지만 ^0^ 왼쪽 방향으로 돌릴 땐 (d+3)%4로 해주면 되는데, d에 3을 더하는 이유에 대해 알아야 앞으로도 사용해먹을 수 있을 것 같아서 상세하게 풀어써보기! 방향은 0, 1, 2, 3 이렇게 있다. 3에서 왼쪽으로 움직이면 2가 되어야하는데 이때는 -1을 해주면 된다. 그러나 문제가 있다. 0에서 왼쪽으로 움직이면 방향은 3이 되어야한다. 그래서..

[n1063] 킹 in python

문제 이해를 잘못해서 시간을 꽤 소요했다 ㅠㅠ 킹 도착 위치에 돌이 잇으면 그때만 킹과 돌의 위치를 모두 변경하는 것이고 돌이 도착위치에 없다면 킹의 위치만 움직여주면 된다. 이동 방향은 dictionary, index를 이용했다. ord : 65 -> A chr : A -> 65 # T,RT,R,RB,B,LB,L,LT dx = [-1, -1, 0, 1, 1, 1, 0, -1] dy = [0, 1, 1, 1, 0, -1, -1, -1] dic = {'T': 0, 'RT': 1, 'R': 2, 'RB': 3, 'B': 4, 'LB': 5, 'L': 6, 'LT': 7} king, dol, n = input().split() king = list(king) # 열, 행 dol = list(dol) # 열, ..

[n11504] 돌려 돌려 돌림판 in python

ex[0]은 x의 맨 앞자리 수 ey[0]은 y의 맨 앞자리 수 new_array를 만들어서 idx 에러 방지함 사실 index를 어떤식으로 처리해야 하나 고민했음. 예제1) array가 [3 7 8 3 1 9 2 7]라고 생각해본다. m = 3 x= 200 y=311 z가 x보다 크면서 같고, y보다 작으면서 같을 경우에만 카운트를 진행한다. 따라서 x의 맨 앞자리 수 2와 y의 맨 앞자리수 3을 이용하면 손쉽게 값을 구할 수 있다. 리스트에서 2의 위치를 전부 찾는다. 6번째 위치에서부터 시작해서 총 3번의 이동을 통해 z를 만들어야한다. 그리하여 z의 값은 2 7 3 7이 리스트의 맨끝이니까 앞으로 다시 돌아가야하는데 이 과정을 코드로 작성하니 좀 지저분해서 new_array를 만들었다. array..

[n1713] 후보 추천하기 in python

https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net (문제) 추천받은 학생의 사진을 사진틀에 게시하고 추천 받은 횟수를 표시하는 문제 - 비어 있는 사진틀이 있는 경우 - 비어 있는 사진틀이 없는 경우 - 현재 사진이 게시된 학생이 추천받은 경우 총 3가지의 경우의 수가 있다. 비어 있는 사진틀이 있는 경우 : 그냥 사진 추가하면 된다. 비어 있는 사진틀이 없는 경우 추천 횟수가 적은 학생의 사진을 삭제한다. 만약 추천 횟수가 적은 학생이..

[n1244] 스위치 켜고 끄기

https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net (문제) 스위치들의 마지막 상태를 출력하는 문제. 학생들은 자신의 성별과 받은 수에 따라 스위치를 조작한다. 남학생 스위치 번호가 자기가 받은 수의 배수이면, 그 스위치의 상태를 바꾼다 스위치가 켜져 있으면 끄고, 꺼져 있으면 켠다 여학생 자기가 받은 수와 같은 번호가 붙은 스위치를 중심으로 좌우가 대칭이면서 가장 많은 스위치를 포함하는 구간을 찾아서, 그 구간에 속한 스위치의 상태를 모두 ..