목록코테/SW Expert Academy (15)
우당탕탕 개발일지

문제N×N 크기의 격자판이 있다. 각각의 격자는 비어 있거나(‘.’), 막혀 있다(‘#’). 이때, 막혀 있는 칸들이 하나의 정사각형을 이루는지를 판단하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 격자판의 크기 N (1≤N≤20 이 주어진다. 다음 N개의 줄은 격자판의 배치를 나타내며, 각 줄에는 ‘.’ 또는 ‘#’로만 이루어진 길이가 N인 문자열이 주어진다. 모든 격자판에는 최소 1개 이상의 ‘#’ 칸이 있음이 보장된다. 입출력 예 풀이1. # 정보 모으기# 개수: 정사각형 한변의 길이를 구하기 위해 # 처음 시작 좌표: 해당 좌표를 기준으로 정사각형 확인할 거임 2. 정사각형 확인하기 # 시작 좌표에서 정사각형의 마지막 좌표가 ..

문제주어진 숫자에서 2개를 골라 곱한다곱한 값 중 단조인 것 중에 가장 큰 값을 구하여라. 입출력 예 풀이( 처음에는 문제를 잘못 읽어서 주어진 문자 중에 단조를 찾는줄 알았다... ㅋㅋㅋ ) [ 과정 ]우선순위 큐 : 내림차순 정렬 1. 두 수의 곱2. 해당 곱이 단조인지 판별단조의 경우 우선순위 큐에 저장그렇지 않을 경우 작업하지 않음3. 결과 값 출력우선순위 큐 중 최댓값 출력우선순위 큐가 비어있을 경우, -1 반환 while문에서는 과정 1,2번에 해당한다. 과정 12 4 7 10이 주어졌다고 가정하겠다. checkNum에는 2 * 4, 2* 7, 2* 10 순서로 담기게 된다. 이렇게 모든 경우의 곱을 확인한다. 과정 2과정 1에서 곱한 값 cheackNum이 단조인지 판별한다. 앞의 ..

문제다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값 구하기다음과 같은 5X5 배열에서 최댓값은 29이다.[제약 사항]총 10개의 테스트 케이스가 주어진다.배열의 크기는 100X100으로 동일하다.각 행의 합은 integer 범위를 넘어가지 않는다.동일한 최댓값이 있을 경우, 하나의 값만 출력한다.입출력 예 풀이2차원배열 numArr가 있다. sum 배열의 i 에 따른 각 행의 합, 각 열의 합, 각 대각선의 합을 가지고 있다.max배열은 현재 4가지의 최댓값을 가지고 있다. 1. 4가지 종류의 각자 합 행 : i는 동일하되 j 만 +1 씩 증가하여 한 행의 값을 모두 더함.열 : j는 동일하되 i 만 +1 씩 증가하여 한 열의 값을 모두 더함. 왼쪽..

문제조건 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이다.맨 왼쪽 두 칸과 맨 오른쪽 ..

문제철수는 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..