https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net 문제 설명 길이가 N인 수식이 있다. 수식은 0부터 9 사이의 숫자와 연산자 +, -, * 로 이루어져 있다. 수식을 계산할 때에는 기본 연산자 우선순위를 무시하고 왼쪽부터 순서대로 계산해야 한다. 수식에 괄호를 추가하면, 괄호 안에 들어 있는 식은 먼저 계산해야 한다. 중첩된 괄호는 사용할 수 없다. 수식이 주어졌을 때, 괄호를 적절히 추가해 만들 수 있는 식의 결과의 최댓값을 ..
https://www.acmicpc.net/problem/2240 2240번: 자두나무 자두는 자두를 좋아한다. 그래서 집에 자두나무를 심어두고, 여기서 열리는 자두를 먹고는 한다. 하지만 자두는 키가 작아서 자두를 따먹지는 못하고, 자두가 떨어질 때까지 기다린 다음에 떨어 www.acmicpc.net 문제 요약 매 초마다 두 개의 자두 나무 중 하나의 나무에서 열매가 떨어진다. 열매가 떨어지는 순간, 자두가 그 나무의 아래에 서 있으면 자두는 그 열매를 받아 먹을 수 있다. 두 나무는 그다지 멀리 떨어져 있지 않기 때문에, 자두는 하나의 나무 아래에 서 있다가 다른 나무 아래로 움직일 수 있다. 자두가 떨어지는 시간과 움직일 수 있는 최대의 움직임, 그리고 몇 초에 어느 나무에서 자두가 떨어질지에 대한..
https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 요약 민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어 있을 것이라는 미신을 믿고 있다. 따라서, 민규는 돈을 최대한 많이 지불해서 카드 N개를 구매하려고 한다. 예를 들어, 카드팩이 총 4가지 종류가 있고, P1 = 1, P2 = 5, P3 = 6, P4 = 7인 경우에 민규가 카드 4개를 갖기 위해 지불해야 하는 금액의 최댓값은 10원이다. 2개 들어있는 카드팩을..
https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 문제 요약 백준시는 N개의 구역으로 나누어져 있다. 구역을 두 개의 선거구로 나누어야 하고, 각 구역은 두 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. ... 공평하게 선거구를 나누기 위해 두 선거구에 포함된 인구의 차이를 최소로 하려고 한다. 백준시의 정보가 주어졌을 때, 인구 차이의 최솟값을 구해 보자. 문제 해결 아..
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 문제 요약 원문 확인 문제 해결 아이디어 완전 탐색으로 해결했다. 먼저 cctv의 좌표를 다 배열에 저장해 두었다. cctv의 종류마다 회전할 수 있는 횟수가 정해져 있는데, 나올 수 있는 방향대로 다 cctv를 켜본 뒤에 사각 지대를 계산했다. cctvControl 함수에 임시 배열을 매개변수로 호출하는데, 이렇게 하는 이유는 cctv를 켜보고 결과를 확인한 후에 다시 전의 상태로 돌..
https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 문제 요약 총 N이닝 동안 게임을 진행. 한 이닝에 3아웃이 발생하면 이닝 종료. 공격과 수비 교체. 타자가 공을 쳐서 얻을 수 있는 결과는 안타, 2루타, 3루타, 홈런, 아웃 중 하나이다. 한 야구팀의 감독 아인타가 타순을 정하려고 한다. 아인타는 자신이 가장 좋아하는 선수인 1번 선수를 4번 타자로 미리 결정했다. 아인타는 각 선수가 어떤 결과를 얻는지 미리 알고 있다. 가장 많은 득점을 하는 타..
바쁘다는 핑계로 블로그에 글을 너무 오래 안 썼다. 다시 관리 시작하기 전에 2021년 하반기를 되돌아 보고 앞으로의 다짐을 하고자 한다. 1. 싸피 1학기 수료 비대면이라 나태해진 부분이 없지 않아 있었다. 하지만 최종 프로젝트를 진행하며 역시 이론 수업 듣는 것보다는 내가 직접 기능을 구현할 때 집중력이 확실히 좋아진다는 걸 다시 한 번 느꼈다. 열심히 한 덕분에 프로젝트는 우수상을 탈 수 있었다. 그래서 2학기가 정말 기대된다. 프로젝트를 빨리 많이 하고 싶다. 그래야 자소서에 쓸 말도 생기고.... 실력도 많이 키울 수 있을 것 같다. 2. 취준 싸피에는 프로젝트 경험을 쌓고 싶어 들어온 것이기에 취준은 계속 미루고 있었다. 하지만 2학기 끝나기 전에는 왠지 취뽀해서 나가고 싶었기에... 슬슬 이..
https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 문제 요약 세로 선의 개수 N, 가로 선의 개수 M, 세로 선마다 가로 선을 놓을 수 있는 위치의 개수 H가 주어진다. 현재 그어져 있는 가로 선의 정보가 주어질 때 (a b는 b번 세로선과 b+1번 세로선을 a번 점선 위치에서 연결했다는 의미이다) i번 세로선의 결과가 i번이 나오도록 사다리 게임을 조작하려고 한다. 추가해야 하는 가로선 개수의 최솟값을 출력하시오. 만약 정답이 3보다 큰값이면..