전체 글 92

[SWEA] 2805. 농작물 수확하기 D3 (자바)

2805. 농작물 수확하기 D3N X N크기의 농장이 있다.이 농장에는 이상한 규칙이 있다.규칙은 다음과 같다. ① 농장은 크기는 항상 홀수이다. (1 X 1, 3 X 3 … 49 X 49) ② 수확은 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다. 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)이다.농장의..

[SWEA] 3456. 직사각형 길이 찾기 D3 (자바)

3456. 직사각형 길이 찾기 D3Box에 담기 직사각형의 네 변 중에서 세 변의 길이가 주어진다.나머지 한 변의 길이가 얼마인지 출력하는 프로그램을 작성하라.세 변의 길이는 상하좌우 어디든 될 수 있으므로 그 순서는 중요하지 않다.입력으로 직사각형이 불가능한 경우는 주어지지 않는다.다음 그림의 예시는 각각 a = 4, b = 3, c = 4의 입력과 a = 5, b = 5, c = 5의 입력을 받았을 때 직사각형의 모습이다.빨간 숫자로 표시된 나머지 변의 길이를 출력하면 된다.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 세 자연수 a, b, c(1 ≤ a, b, c ≤ 100)가 공백으로 구분되어 주어진다.[출력]각 테스트 케이스마다 나머지 한 변의 길이..

[SWEA] 3314. 보충학습과 평균 D3 (자바)

3314. 보충학습과 평균 D3Box에 담기 산골에 있는 삼성초등학교에는 학생이 다섯 명 밖에 없다.어제는 수행평가였고 오늘 점수가 나왔다. 점수가 40점 이상인 학생은 그 점수를 그대로 가지지만 40점 미만은 학생은 보충학습을 받고 점수를 40점으로 올릴 수 있다.보충학습은 거부가 불가능하기 때문에 40점 미만인 학생은 40점을 받게 되는 것과 같다.이 때 학생 5명의 점수를 알 때 보충을 받을 학생이 모두 보충을 받고 나면 점수의 평균이 몇인지 출력하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스마다 다섯 개의 정수가 공백으로 구분되어 주어진다.점수는 모두 0이상 100이하인 5의 배수이다. 즉 평균은 항상 정수이다.[출력]각 테스트 케이스마다 학생 5..

[SWEA] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 D3 (자바)

1225. [S/W 문제해결 기본] 7일차 - 암호생성기 D3 다음 주어진 조건에 따라 n개의 수를 처리하면 8자리의 암호를 생성할 수 있다.- 8개의 숫자를 입력 받는다.- 첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다. 다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로, 그 다음 수는 4, 그 다음 수는 5를 감소한다.이와 같은 작업을 한 사이클이라 한다.- 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다. 이 때의 8자리의 숫자 값이 암호가 된다. [1 사이클] [암호 도출] [제약 사항]주어지는 각 수는 integer 범위를 넘지 않는다.마지막 암호 배열은 모두 한 자리 수로 구성되어 있다. [입력]총 10개의 테스트 케이스..

[SEWA] 6913. 동철이의 프로그래밍 대회 (자바)

6913. 동철이의 프로그래밍 대회 D3 N명의 사람들이 어떤 프로그래밍 대회에 참가했다.대회에는 M개의 문제가 나왔다.동철이는 이 프로그래밍 대회가 열렸다는 소식을 접했고,간단한 웹 서핑으로 각 사람들이 문제를 풀었는지 아닌지를 나타내는 NⅹM 개의 값 ai,j를 구할 수 있었다.사람에 1에서 N까지의 번호를 붙이고, 문제에도 1에서 M까지의 번호를 붙일 때,ai,j 는 대회가 끝나고 i번 사람이 j번 문제를 풀었다면 1, 풀지 못했다면 0을 가지는 값이다.동철이는 이 대회에는 나가지 못했지만, 다른 프로그래밍 대회에 나갈 계획이고 목표는 우승이다.그러므로 지금 열린 이 대회에서 1등을 한 사람들을 찾아 라이벌로 삼기로 했다.이 대회에서 모든 문제의 점수는 같고 프로그램을 제출한 시간은 따지지 않는다...

[SWEA] 5601. [Professional] 쥬스 나누기 (자바)

5601. [Professional] 쥬스 나누기 D3Box에 담기 N명의 사람이 1리터의 쥬스를 나누어 각자 잔에 따라서 마시고자 한다.그런데 한사람이 따르고 분배하는 것은 공평하지 않기 때문에 다음 방법을 통해 쥬스를 나눠 마시기로 하였다.첫번째 사람이 원하는 만큼 한잔 따르고, 두번째 사람이 원하는 만큼 한잔 따르고, ..., N번째 사람이 남은만큼 한잔 따른다.그 후 N번째 사람이 N개의 잔 중에 하나를 가져가고, N-1번째 사람이 남은 잔 중에 하나를 가져가고, 최종적으로 첫번째 사람이 마지막으로 남은 잔을 가져간다.모든 사람은 목이 마른 상태이기 때문에, 최대한의 쥬스를 마시고자 최선의 전략을 쓴다고 가정하자.또한 이들은 서로 모르기 때문에, 담합 혹은 협력 등은 없다고 가정하자.이때 첫번째..

[SEWA] 5431. 민석이의 과제 체크하기 (자바)

민석이는 교수가 되었고, 이번에 처음으로 맡은 과목에 수강생이 N명이다.민석이는 처음으로 과제를 내었다.그리고 제출한 사람의 목록을 받았다.수강생들은 1번에서 N번까지 번호가 매겨져 있고, 어떤 번호의 사람이 제출했는지에 대한 목록을 받은 것이다.과제를 제출하지 않은 사람의 번호를 오름차순으로 출력하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 수강생의 수를 나타내는 정수 N(2≤N≤100)과 과제를 제출한 사람의 수를 나타내는 정수 K(1≤K≤N)가 공백으로 구분되어 주어진다.두 번째 줄에는 과제를 제출한 사람의 번호 K개가 공백으로 구분되어 주어진다. 번호는 1이상 N이하의 정수이며 같은 번호가 두 번 이상 주어지는 경우는 없다.[출..

[SWEA] 8658. Summation (자바)

8658. Summation D3의석이는 종강 기념 피자 파티를 열기 위해서 피자를 사러 왔다.하지만 피자 가게 주인 동욱이는 피자를 순순히 판매하지 않는 사람이다.돈 보다 문제 내는 것을 더 좋아하는 이상한 동욱이는 피자를 사러 온 의석이에게 3개의 시련을 부여했고, 모두 통과해야만 거래를 시작한다.첫 번째 관문에서는 10개의 자연수가 주어진다.각 수마다 그 수의 각 자리 수를 다 더한 값을 계산해야 한다.예를 들어서 주어진 수 중에 1203이 있다면 이 수의 각 자리 수를 모두 더하면 1 + 2 + 0 + 3 = 6이 된다.의석이는 동욱이에게 받은 10개의 숫자들 중, 위와 같이 변환했을 때의 최대, 최소값을 대답해야만 한다.의석이를 도와서 관문 1의 정답을 구하는 프로그램을 작성하라.[입력]첫 번째..

[SWEA] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (자바/JAVA)

1215. [S/W 문제해결 기본] 3일차 - 회문1 D3 "기러기", "토마토", "스위스"와 같이 똑바로 읽어도 거꾸로 읽어도 똑같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.8x8 평면 글자판에서 제시된 길이를 가진 회문의 개수를 구하라. 위와 같은 글자판이 주어졌을 때, 길이가 5인 회문은 붉은색 테두리로 표시된 4개이므로 4를 반환하면 된다.[제약 사항]각 칸의 들어가는 글자는 'A', 'B', 'C' 중 하나이다.ABA도 회문이며, ABBA도 회문이다. A 또한 길이 1짜리 회문이다.가로 또는 세로로 이어진 회문의 개수만 센다.아래 그림에서 노란색 경로를 따라가면 길이 7짜리 회문이 되지만 직선이 아니기 때문에 인정되지 않는다. [입력]총 10개의 테스트 케이스가 주어진다.각..

[SWEA] 13229. 일요일 (자바/JAVA)

13229. 일요일 D3 오늘의 요일을 나타내는 문자열 S가 주어진다. S는 “MON”(월), “TUE”(화), “WED”(수), “THU”(목), “FRI”(금), “SAT”(토), “SUN”(일) 중 하나이다.다음 (즉, 내일 이후의 가장 빠른) 일요일까지는 며칠 남았을까? [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 하나의 줄로 이루어진다. 각 줄에는 문자열 S가 주어진다. [출력]각 테스트 케이스마다, 다음 일요일까지 며칠 남았는지를 한 줄에 하나씩 출력한다.입력3SUNSATMON 출력#1 7#2 1#3 6[코드]import java.io.*;import java.util.*;public class Solution { public static void main(Str..