728x90

📑 Category

    [BOJ] 백준 16236번 아기 상어 - 파이썬(Python)

    문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. 따라서, 크기가 같은 물고기는 먹을 수 없지만, 그 물고기가 있는 칸은 지나갈 수 있다. 아기 상어가 어디로 이동할지 결정하는 방법은 아래와 같다. 더 이상 먹을 수 있는 물고기가 공간에 없다면 아기 상어는 엄마..

    [BOJ] 백준 2206번 벽 부수고 이동하기 - 파이썬(Python)

    문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000)이 주어진다. 다음 N개의 줄에 ..

    [SWM] 소마 6월 회고 - 서비스 구체화, 기획 심사, 개발 준비

    1. 서비스 구체화 이전 주제 선정 단계에서 주점을 운영하는 사장님(이하 주점업자)와 주점을 방문하려는 고객(이하 주점이용자)을 연결해 실시간 주점 자리 확인 및 예약이 가능한 서비스를 개발하기로 확정했다. 서비스명은 지금 당장 갈 수 있는 주점을 찾아 바로 출발할 수 있다는 의미를 담아 '지금갈게'라고 작명했다. 주제가 정해졌으니 구체화 작업을 통해 핵심 기능과 서비스 플로우를 정의해야 했다. 결론적부터 적어보자면, 주점이용자는 현 위치에서 일정 반경 안에 위치한 주점업자 측에 특정 인원에 대한 수용 가능 여부를 묻는 자리 확인 요청을 보내고, 이에 주점업자는 업장 내 상황을 판단하여 수락 또는 거절 응답을 보낸다. 주점이용자에게는 수락 응답을 보낸 주점들이 주점 정보와 함께 실시간으로 리스트업되고, ..

    [BOJ] 백준 10800번 컬러볼 - 파이썬(Python)

    문제 지훈이가 최근에 즐기는 컴퓨터 게임이 있다. 이 게임은 여러 플레이어가 참여하며, 각 플레이어는 특정한 색과 크기를 가진 자기 공 하나를 조종하여 게임에 참여한다. 각 플레이어의 목표는 자기 공보다 크기가 작고 색이 다른 공을 사로잡아 그 공의 크기만큼의 점수를 얻는 것이다. 그리고 다른 공을 사로잡은 이후에도 본인의 공의 색과 크기는 변하지 않는다. 다음 예제는 네 개의 공이 있다. 편의상 색은 숫자로 표현한다. 공 번호 색 크기 1 1 10 2 3 15 3 1 3 4 4 8 이 경우, 2번 공은 다른 모든 공을 사로잡을 수 있다. 반면, 1번 공은 크기가 더 큰 2번 공과 색이 같은 3번 공은 잡을 수 없으며, 단지 4번 공만 잡을 수 있다. 공들의 색과 크기가 주어졌을 때, 각 플레이어가 사로..

    [BOJ] 백준 12904번 A와 B - 파이썬(Python)

    문제 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을 바꿀 때는 다음과 같은 두 가지 연산만 가능하다. 문자열의 뒤에 A를 추가한다. 문자열을 뒤집고 뒤에 B를 추가한다. 주어진 조건을 이용해서 S를 T로 만들 수 있는지 없는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 S가 둘째 줄에 T가 주어진다. (1 ≤ S의 길이 ≤ 999, 2 ≤ T의 길이 ≤ 1000, S의 길이 < T의 길이) 출력 S를 T로 바꿀..

    [BOJ] 백준 3109번 빵집 - 파이썬(Python)

    문제 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 중에, 가스비가 제일 크다는 것을 알게되었다. 따라서 원웅이는 근처 빵집의 가스관에 몰래 파이프를 설치해 훔쳐서 사용하기로 했다. 빵집이 있는 곳은 R*C 격자로 표현할 수 있다. 첫째 열은 근처 빵집의 가스관이고, 마지막 열은 원웅이의 빵집이다. 원웅이는 가스관과 빵집을 연결하는 파이프를 설치하려고 한다. 빵집과 가스관 사이에는 건물이 있을 수도 있다. 건물이 있는 경우에는 파이프를 놓을 수 없다. 가스관과 빵집을 연결하는 모든 파이프라인은 첫째 열에서 시작해야 하고, 마지막 열에서 끝나야 한다. 각 칸은 오른쪽, ..

    [SWM] 소마 5월 회고 - 팀 빌딩, 프로젝트 주제 선정, 멘토 매칭

    1. 팀 빌딩 소마 예비과정의 첫 번째 관문은 6개월동안 함께 동고동락할 팀원을 구하는 것이었다. 엄청난 인싸 집단들은 서로서로 연락을 하거나 파워 네트워킹을 통해 서둘러 팀을 꾸려갔다. 엄청난 인싸도 못되고 명확한 개발 주제를 정해놓지 않은 나로써는 막막한 일이었다. 그렇다고 손을 떼고 있다가 팀 빌딩이 늦어지면 추후 일정에 차질이 생길 것 같아 자유멘토링에 적극 참여하며 본격적으로 함께할 팀원들을 찾아나섰다. 1-1. 방향과 목적이 맞는 동료 구하기 많은 멘토님들의 조언을 바탕으로 소마에서 하고싶은 프로젝트 방향과 활동 목적이 나와 비슷한 사람을 우선적으로 찾아보기로 했다. 일을 잘하는 개발자가 아니라 함께 같은 목표를 이룰 동료를 구하는 것이다. 나는 우선 취업 포트폴리오를 위해 기술적인 허들이 있..

    [BOJ] 백준 1781번 컵라면 - 파이썬(Python)

    문제 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라인을 정하였다. 문제 번호데드라인컵라면 수 문제 번호 1 2 3 4 5 6 7 데드라인 1 1 3 3 2 2 6 컵라면 수 6 7 2 1 4 5 1 위와 같은 상황에서 동호가 2, 6, 3, 1, 7, 5, 4 순으로 숙제를 한다면 2, 6, 3, 7번 문제를 시간 내에 풀어 총 15개의 컵라면을 받을 수 있다. 문제는 동호가 받을 수 있는 최대 컵라면 수를 구하는 것이다. 위의 예에서는 15가 최대이다. 문제를 푸는데는 단위 시간 1이 걸리며, 각 문제의 데드라인은 N이하의 자연수이다. 또, 각 문제를 풀 때 받..

728x90