백준
![[Python] 백준 20055번 - 컨베이어 벨트 위의 로봇](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbTKQT4%2FbtsrZkK4ufi%2FAAAAAAAAAAAAAAAAAAAAAHbZVf61H3jU0AmfVgdMSxsrU3_DK_BWOtsBCXs611-5%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DQaJahQ2RtNEojza3JWW92vyE3s8%253D)
[Python] 백준 20055번 - 컨베이어 벨트 위의 로봇
문제: https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 구현 문제였기 때문에 문제에서 요구하는 순서대로, 잘 구현해주었다. 문제를 풀면서 주의해야할 점들이 몇가지 보였는데 다음과 같다. 주의할 점 1. 벨트 순서 사진을 보면 N+1번째 칸이 N번째 칸 밑에 존재한다. 처음에는 1~N, N+1~2N 순서로 배열을 만들었는데 1~N, 2N~N+1 순서로 배열을 만들어 주어야 한다. (예제 1, 2, 3은 맞는데 예제 4번만 틀..
![[Python] 백준 15684번 - 사다리 조작](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FkDl0T%2FbtsrR2dOVOt%2FAAAAAAAAAAAAAAAAAAAAACiDo41X0tWK4RNdafbXjEDVnwRJ-C6na8eFVhQFcqju%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DWHKyJTocaumpZz9wHSvPBqGTRw8%253D)
[Python] 백준 15684번 - 사다리 조작
문제: https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 문제를 처음보고 이걸 어떻게 풀어야하나 좀 당황스러웠다 ㅎㅎ.. 일단 사다리 구현부터 해보자 싶어서 dfs를 활용해 사다리 구현만 해보았따. 이후 부르트포스로 빈 사다리 자리에 하나씩 넣어가면서 풀어야하나 고민을 하다가 1시간이 지나서 답을 보기로했다. 답을 보니 실제로 dfs로 하나하나 넣어가면서 최소값을 찾는 문제였다.. 부르트 포스를 많이 안풀기도 했고, 비효율적이라는 생각이 들어서..
![[Python] 백준 2146번 - 다리 만들기 (bfs, dfs 풀이)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdaoMWM%2FbtsrH7EgJnn%2FAAAAAAAAAAAAAAAAAAAAAAOb-xb523bv4tTq86oGgkDqM9hjLpooOYBco6fIzm2E%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DIqKHicOd6XVqtZxkJvFpTP1lR%252B4%253D)
[Python] 백준 2146번 - 다리 만들기 (bfs, dfs 풀이)
문제: https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 문제를 보고 각 육지의 테두리에 있는 좌표들만 모아서 좌표들끼리 최단거리를 비교하며 최소값을 찾아가야겠다고 생각을 했다. 처음에는 bfs로 육지가 나올 때 마다 주변 4방향을 탐색하여 바다와 인접하는 경우에만 리스트에 담으며 테두리 좌표값을 구했다. 코드는 다음과 같다. from collections import deque n = int(input()) board = [list(map(int, ..
[Python] 백준 10610번 - 30
문제 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. 입력 N을 입력받는다. N는 최대 105개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다. 출력 미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. 그 수가 존재하지 않는다면, -1을 출력하라. 풀이 n = int(input()) n_list = list(map(int, str(n))) if 0 not in n_list: print(-1) else: n_list.remove(0) n_list.sort(reverse=Tru..