알고리즘/SW Expert Academy

    1206. [S/W 문제해결 기본] 1일차 - View

    문제 정보: 1206. [S/W 문제 해결 기본] 1일 차 - View 강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다. 이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다. 그래서 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다. 빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오. [제약 사항] 가로 길이는 항상 1000 이하로 주어진다. 맨 왼쪽 두 칸과 맨 오른쪽 두 칸에는 건물이 지어지지 않는다. (예시에서 빨간색 땅 부분) 각 빌딩의 높이는 최대 255이다. [입력..

    1933. 간단한 N 의 약수

    문제 정보: 1933. 간단한 N의 약수 입력으로 1개의 정수 N 이 주어진다. 정수 N 의 약수를 오름차순으로 출력하는 프로그램을 작성하라. [제약사항] N은 1 이상 1,000 이하의 정수이다. (1 ≤ N ≤ 1,000) [입력] 입력으로 정수 N 이 주어진다. [출력] 정수 N 의 모든 약수를 오름차순으로 출력한다. 입력 10 출력 1 2 5 10 public class solution_1933 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N; N = sc.nextInt(); long start, end; int cnt = 0; //-----------------반으로 줄였을때 약수 구하기---..

    1859. 백만 장자 프로젝트

    문제 정보: 1983. 조교의 성적 매기기 1. 원재는 연속된 N일 동안의 물건의 매매가를 예측하여 알고 있다. 2. 당국의 감시망에 걸리지 않기 위해 하루에 최대 1만큼 구입할 수 있다. 3. 판매는 얼마든지 할 수 있다. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스 별로 첫 줄에는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 각 날의 매매가를 나타내는 N개의 자연수들이 공백으로 구분되어 순서대로 주어진다. 각 날의 매매가는 10,000 이하이다. [출력] 각 테스트 케이스마다 ‘#x’(x는 테스트 케이스 번호를 의미하며 1부터 시작한다)를 출력하고, 최대 이익을 출력한다. [예제 풀이] 1번째 케이스는 아무것도 사지 않는 것이 최대 이익이다. ..

    1983. 조교의 성적 매기기

    문제 정보: 1983. 조교의 성적 매기기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 학점은 A+, A0, A-, B+, B0, B-, C+, C0, C-, D0으로 구성 학생 점수는 중간, 기말, 과제 점수로 구성 (예시 87 59 88 ) 총점 = 중간고사 (35%) + 기말고사(45%) + 과제 (20%) 10개의 평점을 높은 순서대로 부여 (상대평가) N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여 (예시 10 2는 N=10, 확인하고 싶은 학생은 2번째를 의미 N은 10이므로 1명씩 동일한 학점을 부여) [제약사항] 1. N은 항상 10의 배수이며, 10 이상 100 이하의..

    1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기

    문제정보: 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 [제약 사항] 학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄부터는 점수가 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다. 다음과 같은 수 분포가 있으면, 10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3 최빈수는 8이 된다. 최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라). public class solution_1204 {..

    1984. 중간 평균값 구하기

    문제 정보: 1984. 중간 평균값 구하기 [제약 사항] 각 수는 0 이상 10000 이하의 정수이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다. [출력] 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 입력 3 3 17 1 39 8 41 2 32 99 2 22 8 5 123 7 2 63 7 3 46 6 63 2 3 58 76 21 33 8 1 출력 #1 18 #2 20 #3 24 public class solution_1984 { public static void main(String args[..

    1926. 간단한 369게임

    문제 정보: 1926. 간단한 369게임 [제약사항] N은 10이상 1,000이하의 정수이다. (10 ≤ N ≤ 1,000) [입력] 입력으로 정수 N 이 주어진다. [출력] 1 ~ N까지의 숫자를 게임 규칙에 맞게 출력한다. 입력 10 출력 1 2 - 4 5 - 7 8 - 10 public class solution_1926 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T; T = sc.nextInt(); /* 여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다. */ String result = ""; for(int i = 1; i 1 ? " " : "") + numberProc(String..

    2056. 연월일 달력

    문제 정보: 2056. 연월일 달력 [입력] 입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다. 다음 줄부터 각 테스트 케이스가 주어진다. [출력] 테스트 케이스 t에 대한 결과는 “#t”을 찍고, 한 칸 띄고, 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 입력 5 22220228 20150002 01010101 20140230 11111111 출력 #1 2222/02/28 #2 -1 #3 0101/01/01 #4 -1 #5 1111/11/11 public class solution_2056 { public static void main(String args[]) throws Exception{ Scanner sc = new Scanner(System.in); int T..