본문 바로가기

Problem Solving/SWEA147

[SWEA] 1204. 최빈수 구하기 문제 1000명의 학생들 각각 점수가 주어질 때(0 2020. 2. 5.
[SWEA] 1961. 숫자 배열 회전 문제 N x N의 2차원 배열에서 시계 방향으로 90도, 180도, 270도로 회전하면서 숫자 출력 풀이방법 입력받은 N x N의 2차원 배열을 a[i][j], 출력해야할 N x 3의 2차원 배열을 b[i][j]라고할 때, b[i][1] = a[n-1][i] a[n-2][i] ... a[0][i] b[i][2] = a[n-i-1][n-1] a[n-i-1][n-2] ... a[n-i-1][0] b[i][3] = a[0][n-i-1] a[1][n-i-1] ... a[n-1][n-i-1] 소스코드 package samsung; import java.util.*; public class s_1961 { public static void main(String[] args) { Scanner sc = new Sca.. 2020. 1. 29.
[SWEA] 1966. 숫자를 정렬하자 문제 N 길이의 숫자 정렬 풀이방법 버블 정렬 소스코드 package samsung; import java.util.*; public class s_1966 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t a[j + 1]) { int tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } } System.out.print("#" + t + " "); for(int i = 0; i < n; i++) { System.out.print(a[i] + " "); } System.out.println(); } } } 2020. 1. 29.
[SWEA] 1970. 쉬운 거스름돈 문제 금액이 주어졌을 때, 우리나라 화폐로 가장 적은 화폐의 수를 구하는 문제 풀이방법 그리디 알고리즘 소스코드 package samsung; import java.util.*; public class s_1970 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] a = {50000, 10000, 5000, 1000, 500, 100, 50, 10}; int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1974. 스도쿠 검증 문제 스도쿠 검증 문제 풀이방법 가로, 세로, 3X3 크기의 정사각형 값의 합이 45가 되는지 완전탐색한다 소스코드 package samsung; import java.util.*; public class s_1974 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1976. 시각 덧셈 문제 시 분으로 이루어진 2개의 값을 입력값으로 받았을 때, 더한 값을 시 분으로 출력 풀이방법 분의 더한 값이 60을 초과했을 때, 시를 값을 하나 올려줌 소스코드 package samsung; import java.util.*; public class s_1976 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 12) h = h % 12; if(m > 60) { m %= 60; h++; } System.out.println("#" + t + " " + h + " " + m); } } } 2020. 1. 29.
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까 문제 N X N 크기의 단어 퍼즐이 입력으로 주어졌을 때 특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작성하라. 풀이방법 그림과 같은 2차원 배열과 K를 입력으로 받았을 때, 연속된 1의 길이가 K와 같은 길이를 찾는 문제 소스코드 package samsung; import java.util.*; public class s_1979 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1983. 조교의 성적 매기기 문제 총점 = 중간점수(35%) + 기말점수(45%) + 과제(20%) 총점을 기준으로 A+ ~ D0까지 10개의 성적을 매길 때 k번째 학생의 성적을 구하는 문제 풀이방법 총점과 인덱스를 멤버로 가지는 클래스를 만들어 총점 순으로 정렬한 뒤 성적을 부여 소스코드 package samsung; import java.util.*; public class s_1983 { static class Student implements Comparable{ double grade; int num; Student(double grade, int num){ this.grade = grade; this.num = num; } @Override public int compareTo(Student s) { if(this.gr.. 2020. 1. 29.
[SWEA] 1984. 중간 평균값 구하기 문제 최대값과 최소값을 제외한 나머지 수들의 평균값 구하기 풀이방법 정수를 입력받을 때, 최소값과 최대값을 찾아 이 최소값과 최대값을 제외한 합을 구한 뒤에 평균을 구한다. 소스코드 package samsung; import java.util.*; public class s_1984 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1986. 지그재그 숫자 문제 1부터 N까지 홀수는 더하고 짝수는 빼서 총합을 계산하는 문제 풀이방법 i / 2 == 1 일 때 더하기 i / 2 == 0일 때 빼기 소스코드 package samsung; import java.util.*; public class s_1986 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1989. 초심자의 회문 검사 문제 문자열을 입력받았을 때 가운데를 중심으로 앞과 뒤가 같은 문자열을 찾는 문제 풀이방법 문자열 길이/ 2 만큼 앞 뒤 문자가 같은지 검사 소스코드 package samsung; import java.util.*; public class s_1989 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 2001. 파리 퇴치 문제 위의 그림처럼 M X M 사이즈의 2차원 배열이 입력되었을 때, N X N 사이즈의 부분 배열 원소의 합 중 최대값 출력 풀이방법 M의 최대크기가 30 이므로 완전탐색 소스코드 package samsung; import java.util.*; public class s_2001 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t = n || j + s >= n) continue; sum += a[i + k][j + s]; } } max = Math.max(max, sum); } } System.out.println("#" + t + ".. 2020. 1. 29.