시뮬레이션 46

백준(Python) 10810번 공 넣기 풀이

Python으로 구현한 10810번 공 넣기 문제 풀이입니다. https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net n, m = map(int, input().split()) data = [0] * n for _ in range(m) : i, j, k = map(int, input().split()) for i in range(i, j + 1) : data[i-1] = k for i in range(n) : print(data[i], end=' '..

백준(Python) 10813번 공 바꾸기 풀이

Python으로 구현한 10813번 공 바꾸기 문제 풀이입니다. https://www.acmicpc.net/problem/10813 10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net n, m = map(int, input().split()) data = [i for i in range(1, n + 1)] for _ in range(m) : i, j = map(int, input().split()) temp = data[i-1] data[i-1] = data[j-1] data[j-1] = temp for x in r..

백준(Python) 2947번 나무 조각 풀이

Python으로 구현한 2947번 나무 조각 문제 풀이입니다. https://www.acmicpc.net/problem/2947 2947번: 나무 조각 첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다. www.acmicpc.net data = list(map(int, input().split())) target = [1, 2, 3, 4, 5] while data != target : for i in range(4) : if data[i] > data[i+1] : data[i], data[i+1] = data[i+1], data[i] else : continue for j in rang..

백준(Python) 1547번 공 풀이

Python으로 구현한 1547번 공 문제 풀이입니다. https://www.acmicpc.net/problem/1547 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net m = int(input()) data = [1, 0, 0] for _ in range(m) : x, y = map(int, input().split()) data[x-1], data[y-1] = data[y-1], data[x-1] for i in range(3) : if data[i] == 1 : print(i + 1) 1. 문제에서 ..

백준(Python) 14920 3n+1 수열 풀이

Python으로 구현한 14920번 3n+1 문제 풀이입니다. https://www.acmicpc.net/problem/14920 14920번: 3n+1 수열 다음의 점화식에 의해 정해지는 수열 C(n)을 생각하자: C(n+1) = C(n)/2 (C(n)이 짝수일 때) = 3*C(n)+1 (C(n)이 홀수일 때) 초항 C(1)이 자연수로 주어지면, 이 점화식은 자연수로 이루어지는 수열을 정한다. www.acmicpc.net n = int(input()) count = 0 while True : if n == 1 : count += 1 break if n % 2 == 0 : n //= 2 count += 1 else : n = 3 * n + 1 count += 1 print(count) 1. while문을..

[구현] 이코테 (파이썬) 게임 개발 풀이

[문제] 현민이는 게임 캐릭터가 맵 안에서 움직이는 시스템을 개발 중이다. 캐릭터가 있는 장소는 1 X 1 크기의 정사각형으로 이뤄진 N X M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다이다. 캐릭터는 동서남북 중 한 곳을 바라본다. 맵의 각 칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 개수, B는 서쪽으로부터 떨어진 칸의 개수이다. 캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없다. 캐릭터의 움직임을 설정하기 위해 정해 놓은 메뉴얼은 이러하다. 1. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향(반시계 방향으로 90도 회전한 방향)부터 차례대로 갈 곳을 정한다. 2. 캐릭터의 바로 왼쪽 방향에 아직 가보지 않은 칸이 존재한다면, 왼쪽 방향으로 회..