목록분류 전체보기 (159)
우당탕탕 개발일지

문제조건 1. 농장은 크기는 항상 홀수이다. (1 X 1, 3 X 3 … 49 X 49)조건 2. 수확은 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다. 1 X 1크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 3이다.3 X 3크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 16 (3 + 2 + 5 + 4 + 2)이다.5 X 5크기의 농장에서 자라는 농작물의 수확하여 얻을 수 있는 수익은 25 (3 + 2 + 1 + 1 + 2 + 5 + 1 + 1 + 3 + 3 + 2 + 1)이다.농장의 크기 N와 농작물의 가치가 주어질 때, 규칙에 따라 얻을 수 있는 수익은 얼마인지 구하여라. 입출력 예..

문제한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 구해라 입출력 예 풀이 Arrays.sort를 통해서 오름차순 정렬을 한다. 그 후, 가장 작은 값이 0번째에는 +1, 가장 큰 값인 99 번째에는 -1를 한다. 해당 과정이 끝난 후 99번째와 0번째의 차이를 출력한다. 코드 Scanner sc = new Scanner(System.in); int t=sc.nextInt()..

문제왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다.빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 구해야 한다. 아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 따라서 답은 6이 된다.A와 B로 표시된 세대의 경우는 왼쪽 조망은 2칸 이상 확보가 되었지만 오른쪽 조망은 한 칸 밖에 확보가 되지 않으므로 조망권을 확보하지 못하였다.C의 경우는 반대로 오른쪽 조망은 2칸이 확보가 되었지만 왼쪽 조망이 한 칸 밖에 확보되지 않았다. [제약 사항]가로 길이는 항상 1000이하로 주어진다.각 빌딩의 높이는 최대 255이다.맨 왼쪽 두 칸과 맨 오른쪽 ..

문제첫 번째 상자에는 사탕 A개, 두 번째 상자에는 사탕 B개, 세 번째 상자에는 사탕 C개가 들어 있다. 조건 1. a 각 상자에 들어 있는 사탕의 개수가 순증가하기를 원한다. 즉, 두 번째 상자에 들어 있는 사탕의 개수가 첫 번째 상자에 들어 있는 사탕의 개수보다 더 많기를 원하고, 세 번째 상자에 들어 있는 사탕의 개수가 두 번째 상자에 들어 있는 사탕의 개수보다 더 많기를 원한다. 조건 2. 모든 상자가 비어 있지 않아야 한다.즉, 모든 상자에 1개 이상의 사탕이 들어 있어야 한다. 위의 조건을 만족시키기 위해 할 수 있는 일은, 상자 속에 들어 있는 사탕을 (0개 이상) 먹어 없애 버리는 것이다. 모든 조건을 만족시킬 수 있는지 판단하고, 만족시킬 수 있다면 최소 몇 개의 사탕을 먹어야 하는지..

문제철수는 25% 할인된 가격으로 상점의 모든 품목을 판매한다. 즉, 정상가의 75%로 판매한다.식료품 가게에서 판매하는 모든 물건의 정상가는 4의 배수인 정수이고, 고로 할인된 가격 역시 모두 정수이다.철수는 먼저 모든 판매 물품의 할인된 판매가격과 정상 가격표을 프린터로 출력했다.프린터는 모든 물품의 할인가격과 정상가격을 한꺼번에 오름차순으로 정렬한 뒤 순서대로 출력되어 있다.예를 들어, 정상가격이 20, 80, 100인 경우 할인가격은 15, 60, 75이며 프린터의 인쇄 출력 더미는 오름차순으로 정렬된 15, 20, 60, 75, 80, 100 가격표들로 구성된다.이때 물품의 개수가 주어지면 할인된 판매가격을 구하여라 입출력 예 풀이2중 for문을 사용하여 할인된 가격을 찾아내는 로직으로 구현하..

문제Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition.위 문장에서 ti 를 검색하면, 답은 4이다. 찾아야할 문자열과 문장이 주어진다. 찾아야할 문자열이 문장에서 몇번 등장하는지 구하여라 입출력 예 풀이replace 를 통해서 아주 쉽게 구할 수 있다. 주어진 문자열을 특수문자로 변경 후, 특수문자의 개수를 구하면 된다. 코드import java.util.Scanner;import java.io.FileInputStream;class Solution{ public static void main(String args[]) throws Exception { Scanner sc..

문제1238099084 라는 문자열이 주어진다. 아래 그림과 같이 연속으로 반복되는 동일한 숫자가 있을 경우 소거한다. 더이상 소거할 숫자가 없을 때까지 진행하여 남은 문자열을 반환하여라 입출력 예 풀이해당 문제는 연속된 동일한 숫자 소거하는 작업을 반복하는 부분이 중요한다.따라서 해당 작업을 진행하는 함수 removeNum 을 만들어 while문 안에서 호출하도록 설계했다. removeNum 함수는 매개변수로 받은 문자열에 규칙에 따라 소거해야하는 문자를 모두 소거한 후,결과 문자열을 반환한다. 그 후, 결과 문자열의 길이와 이전 문자열의 길이가 동일한지 확인한다.길이가 같다면 더이상 소거할 문자가 없는 것으로 판단하여 결과 값으로 취급한다. removeNum 함수 매개변수로 받은 문..

문제1차원 수직선 위에 정원이 있다. 모든 정수 1 ≤ i ≤ N 에 대해, 좌표 i에 꽃이 하나씩 심겨 있다. 즉, 좌표 1, 2, …, N에 총 N개의 꽃이 심겨 있다.분무기는 정수 좌표에 놓을 수 있으며, 좌표 x에 분무기를 놓았을 경우 닫힌 구간 [x - D, x + D]에 심긴 모든 꽃들에 물을 줄 수 있다.N과 D가 주어질 때, 모든 꽃이 한 개 이상의 분무기에서 물을 받을 수 있도록 하기 위해 필요한 최소한의 분무기 수를 구하는 프로그램을 작성하라. 입출력 예 풀이문제에 의하면 분무기 1개의 범위는 [x - D, x + D] 이다. 해당 범위에 존재하는 꽃의 개수는 D * 2 + 1 개가 된다. 따라서 { 전체 꽃의 개수 / 1개의 분무기가 뿌릴 수 있는 꽃의 개수 } 를 통해서 최소한의 분..