본문 바로가기

전체 글426

[Algorithm] BaekJoon : 17135. 캐슬 디펜스 by Python [문제 바로가기] https://www.acmicpc.net/problem/17135 📌문제 설명 캐슬 디펜스는 성을 향해 몰려오는 적을 잡는 턴 방식의 게임이다. 게임이 진행되는 곳은 크기가 N×M인 격자판으로 나타낼 수 있다. 격자판은 1×1 크기의 칸으로 나누어져 있고, 각 칸에 포함된 적의 수는 최대 하나이다. 격자판의 N번행의 바로 아래(N+1번 행)의 모든 칸에는 성이 있다. 성을 적에게서 지키기 위해 궁수 3명을 배치하려고 한다. 궁수는 성이 있는 칸에 배치할 수 있고, 하나의 칸에는 최대 1명의 궁수만 있을 수 있다. 각각의 턴마다 궁수는 적 하나를 공격할 수 있고, 모든 궁수는 동시에 공격한다. 궁수가 공격하는 적은 거리가 D이하인 적 중에서 가장 가까운 적이고, 그러한 적이 여럿일 경우.. 2021. 1. 11.
[Algorithm] BaekJoon : 17136. 색종이 붙이기 by Python [문제 바로가기] https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 📌문제 설명 아래 그림과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크기가 10×10인 종이 위에 붙이려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 0 또는 1이 적혀 있다. 1이 적힌 칸은 모두 색.. 2021. 1. 10.
[Algorithm] Programmers : 거스름돈 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/12907 코딩테스트 연습 - 거스름돈 Finn은 편의점에서 야간 아르바이트를 하고 있습니다. 야간에 손님이 너무 없어 심심한 Finn은 손님들께 거스름돈을 n 원을 줄 때 방법의 경우의 수를 구하기로 하였습니다. 예를 들어서 손님께 5 programmers.co.kr 📌문제 설명 Finn은 편의점에서 야간 아르바이트를 하고 있습니다. 야간에 손님이 너무 없어 심심한 Finn은 손님들께 거스름돈을 n 원을 줄 때 방법의 경우의 수를 구하기로 하였습니다. 예를 들어서 손님께 5원을 거슬러 줘야 하고 1원, 2원, 5원이 있다면 다음과 같이 4가지 방법으로 5원을 거슬러 줄 수 있습니다. 1원을 5개.. 2021. 1. 9.
[독서] 우리가 인생이라 부르는 것들 '시 소믈리에'라고 불리는 정재찬 교수님의 책이다. 삶의 힐링이 될 만한 책을 고르다가 제목과 책 목차를 보며 나에게 필요한 책이라 생각하여 구입하게 되었다. 책을 읽기 전 까지만 해도 '시'와 함께 내용을 풀어가는 책인지 몰랐었다. 시를 좋아했지만 최근 가까이 두지 못했는데, 교수님의 강의와 함께 간단하게 읽은 시들이 만족스러웠다. 책은 크게 7가지의 주제(목차)로 구성되어 있다. 밥벌이 돌봄 건강 배움 사랑 관계 소유 공감하기에는 내가 아직 미숙하다고 느낀 이야기들도 있었지만 나에게 필요한 내용들은 가슴 깊이 생겨둘 정도로 의미있었다. 보통 인생(혹은 자기개발)에 관한 책을 읽다보면 '어떻게 해라', 'A는 B이다.'라는 충고의 문장들이 많다. 결정을 쉽게 하지 못하는 나로서는 이러한 문장이 도움이 .. 2021. 1. 8.
[Algorithm] BaekJoon : 17471. 게리맨더링 by Python [문제 바로가기] https://www.acmicpc.net/problem/17471 📌문제 설명 백준시의 시장 최백준은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 최백준은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 백준시로 변경했다. 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 백준시는 N개의 구역으로 나누어져 있고, 구역은 1번부터 N번까지 번호가 매겨져 있다. 구역을 두 개의 선거구로 나눠야 하고, 각 구역은 두 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. 구역 A에서 인접한 구역을 통해서 구역 B로 갈 수 있을 때, 두 .. 2021. 1. 8.
[Algorithm] BaekJoon : 17406. 배열 돌리기 4 by Python [문제 바로가기] https://www.acmicpc.net/problem/17406 📌문제 설명 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 값은 4이다. 배열은 회전 연산을 수행할 수 있다. 회전 연산은 세 정수 (r, c, s)로 이루어져 있고, 가장 왼쪽 윗 칸이 (r-s, c-s), 가장 오른쪽 아랫 칸이 (r+s, c+s)인 정사각형을 시계 방향으로 한 칸씩 돌린다는 의미이다. 배열의 칸 (r, c)는 r행 c열을 의미한다. 예를 들어, 배열 A의 크기가 6×6이고, 회전 연산이 (3, 4, 2)인 경우에는 아래 그림과 같이.. 2021. 1. 7.
[Algorithm] BaekJoon : 17070. 파이프 옮기기 1 by Python [문제 바로가기] https://www.acmicpc.net/problem/17070 📌문제 설명 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다. 파이프는 매우 무겁기 때문에, 유현이는 파이프를 밀어서 이동시키려고 한다. 벽에는 새로운 벽지를 발랐기 때문에, 파이프가 벽을 긁.. 2021. 1. 6.
[Algorithm] BaekJoon : 17281. ⚾(야구) by Python [문제 바로가기] https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 📌문제 설명 ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을.. 2021. 1. 6.
[Git] 프로젝트간 git 사용 (feat. branch) git은 버전관리와 동시협업을 가능하도록 지원해주는 편리한 툴인만큼 개발 프로젝트에서 굉장히 유용하게 사용된다. 사용하지 않는 경우가 없을 것 같다. 특히 프로젝트 진행시 당연히 분업을 하게 될 텐데, 같은 코드 혹은 파일(기능)을 다수의 사람이 건드리게 되면 프로젝트 진행은 꼬여버릴 것이다. 이 때 git의 branch를 적절하게 사용하여 진행하면 프로젝트의 업무 효율을 높일 수 있다.(commit 핸들링, merge 등) SSAFY에서 팀 프로젝트를 진행할 때 새로운 branch를 만들어서 작업을 진행해야 하는데, 당시 git 사용이 미숙하다 보니 자주 까먹어서 헤맸던 경험이 있었다. 이후 git 명령어들을 정리하여 pdf 파일로 만들어 팀원들에게 공유하였는데 다시 한 번 블로그를 통해 정리하고자 한.. 2021. 1. 5.