[Python] 백준/BOJ 21736번: 헌내기는 친구가 필요해 (Silver 2)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 도연이가 다니는 대학의 캠퍼스는 N×M 크기이며 캠퍼스에서 이동하는 방법은 벽이 아닌 상하좌우로 이동하는 것이다. 도연이가 이동할 수 있는 곳은 상하좌우이다. 단, 캠퍼스의 밖으로 이동할 수는 없다.불쌍한 도연이를 위하여 캠퍼스에서 도연이가 만날 수 있는 사람의 수를 출력하는 프로그램을 작성해 보자. O는 빈 공간, X는 벽, I는 도연이, P는 사람이다.  💡 Approach먼저 도연이의 위치를 찾고 시작점으로 잡아 bfs를 돌린다.4방향을 탐색할 때, 범위를 벗어나지 않고 벽이 아니면 이동할 수 있다.이때, 탐색하려는 칸이 사람이면 cnt에 1을 더한다.출력할 때는 삼항연산자를 써도 되지만, or를 쓰면 cnt가 0일 때 'TT'를 출력했다. ✏️ Solutioni..
[Python] 백준/BOJ 6593번: 상범 빌딩 (Gold 5)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져 있다. 각 정육면체는 금으로 이루어져 있어 지나갈 수 없거나, 비어있어서 지나갈 수 있게 되어있다. 당신은 각 칸에서 인접한 6개의 칸(동,서,남,북,상,하)으로 1분의 시간을 들여 이동할 수 있다. 즉, 대각선으로 이동하는 것은 불가능하다. 그리고 상범 빌딩의 바깥면도 모두 금으로 막혀있어 출구를 통해서만 탈출할 수 있다.당신은 상범 빌딩을 탈출할 수 있을까? 만약 그렇다면 얼마나 걸릴까? 💡 Approach🙊 스스로 헷갈릴까 봐 쓰는 z, y, x 표기에 대한 주절주절..더보기더보기나는 여태까지 행을 x 좌표, 열을 ..
[Python] 백준/BOJ 16928번: 뱀과 사다리 게임 (Gold 5)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기  게임은 정육면체 주사위를 사용하며, 주사위의 각 면에는 1부터 6까지 수가 하나씩 적혀있다. 게임은 크기가 10×10이고, 총 100개의 칸으로 나누어져 있는 보드판에서 진행된다. 보드판에는 1부터 100까지 수가 하나씩 순서대로 적혀져 있다. 플레이어는 주사위를 굴려 나온 수만큼 이동해야 한다. 예를 들어, 플레이어가 i번 칸에 있고, 주사위를 굴려 나온 수가 4라면, i+4번 칸으로 이동해야 한다. 만약 주사위를 굴린 결과가 100번 칸을 넘어간다면 이동할 수 없다. 도착한 칸이 사다리면, 사다리를 타고 위로 올라간다. 뱀이 있는 칸에 도착하면, 뱀을 따라서 내려가게 된다. 즉, 사다리를 이용해 이동한 칸의 번호는 원래 있던 칸의 번호보다 크고, 뱀을 이용해 이동한..
[Python] 백준/BOJ 7569번: 토마토 (Gold 5)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다.각 칸은 익은 토마토(1), 익지 않은 토마토(0), 빈칸(-1) 중 하나이다.보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다.  하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 💡 Approach7576. 토마토 문제의 3차원 버전이다.문제 풀이 방식, 코드는 거의 ..
[Python] 백준/BOJ 7576번: 토마토 (Gold 5)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다.각 칸은 익은 토마토(1), 익지 않은 토마토(0), 빈칸(-1) 중 하나이다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳(상하좌우)에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다.  철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다.  💡 Approach익은 토마토가 있는 칸들을 찾아서 큐에 위치를 저장한다.익은 토마토가 있는 칸에서 탐색을 시작한다.현재 위치에서 상하좌우 칸을 살펴본다.다음 칸에 안 익은 토마토가 있으면 토마토를 익게 만든다...
[Python] 백준/BOJ 1012번: 유기농 배추 (Silver 2)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추 근처에 서식하며 해충을 잡아먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해 있는 것이다.한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어 놓았다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 되므로 서..