구현 5

[백준] 21610 - 마법사 상어와 비바라기 (파이썬, Python)

https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 이 문제는 구현 문제입니다. 입력으로 NXN 배열에 저장된 값이 주어지고, 주어진 문제 조건대로 명령을 수행한 후 마지막에 NXN 배열에 저장된 값의 합을 구하는 것이 이 문제의 목표입니다. 접근 방식 1. 입력 값을 입력받기 2. 초기 구름의 위치 정보를 1차원 배열인 cloud_list와 2차원 배열인 cloud_mat에 저장 cloud_list: 구름의 위치 정보(행, 열 값) 저장한..

PS/Python 2021.09.22

[백준] 15684 - 사다리 조작 (파이썬, Python)

https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 전체 코드 제출 언어: PyPy3 시간: 1400ms import sys def check_is_success(): global N, H, mat is_success = True for i in range(1, N+1): d = 0 idx_left, idx_right = i-1, i for j in range(H): if mat[j][idx_left]: d -= 1 idx_left -= 1 id..

PS/Python 2021.09.15

[백준] 17825 - 주사위 웇놀이 (파이썬, Python)

https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 첫째 줄에 주사위에서 나올 수 10개가 순서대로 주어진다. www.acmicpc.net 이 문제는 백트래킹, 구현 문제입니다. 주사위를 굴려서 나올 10개의 숫자를 미리 알려주고, 말을 이동시켜 얻을 수 있는 최대 점수를 구하는 것이 이 문제의 목표입니다. 이 문제는 이름에도 윷놀이가 있듯이 윷놀이처럼 지름길이 있습니다. 지름길은 10, 20, 30 칸에서 출발을 해야 갈 수 있으며 이동 중간에 해당 칸들을 지나는 경우는 지름길로 갈 수 없습니다. 말은 해당 회차에서 주사위를 굴려 나온 수 만큼 진행방향으로 이동시킵니다. 다만, 이동시킬 칸에 이미 말이 존재하면 해당 말은 이동시킬 수 없습니다.(도착 칸은 제..

PS/Python 2021.08.31

[백준] 16234 - 인구 이동 (파이썬, Python)

https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 이 문제는 너비 우선 탐색(bfs) 문제입니다. 배열 안의 각 칸은 나라를 의미하며, 조건에 맞을 시 주변 국가와 국경을 개방하여 인구를 이동시킵니다. 인구 이동은 매일 진행되며, 이 문제의 목표는 인구 이동이 며칠 동안 발생하는지 구하는 것이다. 접근 방식 1. 날마다 연합국 정보를 초기화한다.(어떠한 연합국에든 속하는지/속하지 않는지 판단하는 정보를 저장) 2. 각 국가를 순회하..

PS/Python 2021.08.29

[백준] 21608 - 상어 초등학교 (파이썬, Python)

https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 해당 문제는 구현 문제입니다. 문제의 목표는 규칙에 따라 학생 들의 자리를 배치하고, 학생의 만족도 총합을 계산하는 것입니다. 자리를 배치하는 규칙에 따르면 빈 자리 중 우선순위가 높은 자리는 아래의 순서로 결정됩니다. 주위에 좋아하는 학생 수 가 많음 > 주위에 빈 자리가 많음 > 행의 번호가 작음 > 열을 변호가 작음 따라서 빈 자리를 찾고, 위 우선순위대로 정렬한 후 가장 우선순위..

PS/Python 2021.08.25