알고리즘/SW Expert Academy
-
[SWEA] D2 1961. 숫자 배열 회전 _Java알고리즘/SW Expert Academy 2023. 7. 13. 09:33
SWEA D1 1961. 숫자 배열 회전 java 🧶 문제 설명 N x N 행렬이 주어질 때, 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라. 제한사항 N은 3 이상 7 이하이다. 입출력 예 [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N이 주어지고, 다음 N 줄에는 N x N 행렬이 주어진다. [출력] 출력의 첫 줄은 '#t'로 시작하고, 다음 N줄에 걸쳐서 90도, 180도, 270도 회전한 모양을 출력한다. 입력과는 달리 출력에서는 회전한 모양 사이에만 공백이 존재함에 유의하라. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 입력 출력 10 3 1 2 3 4 5 6 7 8 9..
-
[SWEA] D2 1959. 두 개의 숫자열 _Java알고리즘/SW Expert Academy 2023. 7. 12. 09:05
SWEA D1 1959. 두 개의 숫자열 java 🧶 문제 설명 N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다. 아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다. Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다. 단, 더 긴 쪽의 양끝을 벗어나서는 안 된다. 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라. 위 예제의 정답은 아래와 같이 30 이 된다. 제한사항 N 과 M은 3 이상 20 이하이다. 입출력 예 [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고, 두 번째 줄..
-
[SWEA] D2 1204. 최빈수 구하기 _Java알고리즘/SW Expert Academy 2023. 7. 11. 08:57
SWEA D1 1204. 최빈수 구하기 java 🧶 문제 설명 어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다. 이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다. 다음과 같은 수 분포가 있으면, 10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3 최빈수는 8이 된다. 최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라). 제한사항 학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다. 입출력 예 [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 줄에는 테..
-
[SWEA] D1 1936. 1대1 가위바위보 _Java알고리즘/SW Expert Academy 2023. 7. 10. 13:27
SWEA D1 1936. 1대1 가위바위보 java 🧶 문제 설명 A와 B가 가위바위보를 하였다. 가위는 1, 바위는 2, 보는 3으로 표현되며 A와 B가 무엇을 냈는지 입력으로 주어진다. A와 B중에 누가 이겼는지 판별해보자. 단, 비기는 경우는 없다. 입출력 예 [입력] 입력으로 A와 B가 무엇을 냈는지 빈 칸을 사이로 주어진다. [출력] A가 이기면 A, B가 이기면 B를 출력한다. 입력 출력 3 2 A 🧶 코드 import java.util.Scanner; import java.io.FileInputStream; class Solution { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(Syst..
-
[SWEA] D1 2058. 자릿수 더하기알고리즘/SW Expert Academy 2023. 7. 10. 13:18
SWEA D1 2058. 자릿수 더하기 java 🧶 문제 설명 하나의 자연수를 입력 받아 각 자릿수의 합을 계산하는 프로그램을 작성하라. 제한사항 자연수 N은 1부터 9999까지의 자연수이다. (1 ≤ N ≤ 9999) 입출력 예 [입력] 입력으로 자연수 N이 주어진다. [출력] 각 자릿수의 합을 출력한다. 입력 출력 6789 30 🧶 코드 import java.util.Scanner; import java.io.FileInputStream; import java.util.Arrays; import java.util.stream.Stream; class Solution { public static void main(String args[]) throws Exception { Scanner sc = new..
-
[SWEA] D1 2063. 중간값 찾기 _Java알고리즘/SW Expert Academy 2023. 7. 10. 10:27
SWEA D1 2063. 중간값 찾기 java 🧶 문제 설명 중간값은 통계 집단의 수치를 크기 순으로 배열 했을 때 전체의 중앙에 위치하는 수치를 뜻한다. 입력으로 N 개의 점수가 주어졌을 때, 중간값을 출력하라. 제한사항 1. N은 항상 홀수로 주어진다. 2. N은 9이상 199 이하의 정수이다. (9 ≤ N ≤ 199) 입출력 예 [예제] N이 9 이고, 9개의 점수가 아래와 같이 주어질 경우, 85 72 38 80 69 65 68 96 22 69이 중간값이 된다. [입력] 입력은 첫 줄에 N 이 주어진다. 둘째 줄에 N 개의 점수가 주어진다. [출력] N 개의 점수들 중, 중간값에 해당하는 점수를 정답으로 출력한다. 입력 출력 199 85 72 38 80 69 65 68 96 22 49 67 51 ..
-
[SWEA] D1 2068. 최대수 구하기 _Java알고리즘/SW Expert Academy 2023. 7. 10. 10:21
SWEA D1 2068. 최대수 구하기 java 🧶 문제 설명 10개의 수를 입력 받아, 그 중에서 가장 큰 수를 출력하는 프로그램을 작성하라. 제한사항 각 수는 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 99 #2 123 #3 76 🧶 풀이..
-
[SWEA] D1 2072. 홀수만 더하기 _Java알고리즘/SW Expert Academy 2023. 7. 10. 10:09
SWEA D1. 홀수만 더하기 java 🧶 문제 설명 10개의 수를 입력 받아, 그 중에서 홀수만 더한 값을 출력하는 프로그램을 작성하라. 제한사항 각 수는 0 이상 10000 이하의 정수이다. 입출력 예 입력 출력 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 200 #2 208 #3 121 🧶 풀이법 나머지 연산자(%)를 이용하여 나머지가 1인 수(홀수)만 골라서 각각을 더하여 출력합니다. 🧶 코드 import java.util.Scanner; import java.io.FileInputStream; class Solution { public static void main(String args[]) thr..