https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 : ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. 풀이 : 완전탐색으로 해결한 문제였습니다. 풀이입니다. 1. 모든 좌표,( 0 ~ N)에 대해 k=1부터 N+1까지 범위를 늘려가며 확인한다. 2. 이 때, 해당 범위에 있는 집의 개수와 기업이 이득을 보는지 손해를 보는지 확인한다. 3. 만약, 현재까지 탐색한 집의 개수 중 MAX값보다 현재 탐색한 집의 개수가 많다면..
https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 문제 : 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 중에, 가스비가 제일 크다는 것을 알게되었다. 따라서 원웅이는 근처 빵집의 가스관에 몰래 파이프를 설치해 훔쳐서 사용하기로 했다. 빵집이 있는 곳은 R*C 격자로 표현할 수 있다. 첫째 열은 근처 빵집의 가스관이고, 마지막..
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 : 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌..
https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 문제 : 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 ..
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 : 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 풀이 : 간단한 아이디어로 해결할 수 있는 문제였습니다. 아이디어는 다음과 같습니다. 1. 수식에 -가 등장하지 않는 경우 ->..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 : ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. 풀이 : 구현 및 시뮬레이션 문제였습니다. 알고리즘은 다음과 같은 형태로 진행됩니다. 0. BC의 정보를 충전량 기준 내림차순으로 정렬 1. 현재 칸에서 충전할 수 있는 BC를 찾는다. BC를 충전하는 경우는 총 3가지이다. 1-1 BC 범위 안에 A, B 두 사람이 존재하는 경우 1-2 BC 범위 안에 A만 존재하는 ..
https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 : 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 풀이 : 수학 문제였습니다. 처음에는 문제를 더할 수 있는 수의 최댓값을 찾는 줄 알고 잘못 생각했는데 보니까 수들의 개수인 N의 최댓값을 찾는 문제였습니다. N이 1과 2일 경우를 제외(항상 1)하고 1부터 S+1까지 더합니다. 이 때, 누적 합의 값이 S보다 커질 때 수의 개수에서 1을 빼주면 됩니다. 예를 들어, S = 30이라면 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 이므로 여기서 6..
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 : 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 풀이 : 힙(우선순위 큐)를 사용한 문제였습니다. ..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeUtVakTMDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 : ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. 풀이 : 조합 문제였습니다. 1 부터 n번까지의 식재료 중 n/2개를 선택하여 해당 재료로 만든 요리의 맛과, 나머지 n/2개의 재료로 만든 요리의 맛의 차이를 최소화하는 문제입니다. 풀이입니다. 1. N개의 재료 중 N/2개의 재료를 선택하는 모든 경우를 탐색합니다. 2. 각 경우마다 N/2개의 재료를 선택한 경우의 ..