[SW Expert Academy] 1208. Flatten - Java
2019. 7. 29. 10:04ㆍ프로그래밍/알고리즘
반응형
[SWEA] 1208. [S/W 문제해결 기본] 1일차 - Flatten
문제
문제풀이
-
Arrays.sort()
c#에서 제공하는 Array 클래스와 Sort클래스를 사용하여 문제를 해결한다.
-
Bubble Sort (버블정렬)
첫 번째 자료와 두 번째 자료, 두 번째 자료와 세 번째 자료, 세 번째 자료와 네 번째 자료 이런 식으로 비교하면서 자료를 정렬한다. 1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하게 된다. 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고 2회전을 수행하고 나면 끝에서 두 번째 자료까지가 정렬에서 제외된다. 1회전을 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어나게 된다.
전체소스
# Arrays.sort() 사용했을 때
import java.util.*;
public class Solution
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
for (int tc = 1; tc <= 10; tc++)
{
int dump = sc.nextInt();
int[] numbers = new int[100];
for (int i = 0; i < 100; i++)
{
numbers[i] = sc.nextInt();
}
Arrays.sort(numbers);
for (int i = 0; i < dump; i++)
{
numbers[0]++;
numbers[99]--;
Arrays.sort(numbers);
}
int result = numbers[99] - numbers[0];
System.out.println("#" + tc + " " + result);
}
}
}
# 버블정렬 사용했을 때
import java.util.*;
public class Solution
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int temp = 0;
for (int tc = 1; tc <= 10; tc++)
{
int dump = sc.nextInt();
int[] nums = new int[100];
for (int i = 0; i < 100; i++) nums[i] = sc.nextInt();
// 버블정렬
for (int i = 0; i < nums.length - tc; i++)
{
if (nums[i] > nums[i + 1])
{
temp = nums[i];
nums[i] = nums[i + 1];
nums[i + 1] = temp;
}
}
for (int i = 0; i < dump; i++)
{
nums[0]++;
nums[99]--;
// 버블정렬
for (int j = 0; j < nums.length - tc; j++)
{
if (nums[j] > nums[j + 1])
{
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
int result = nums[99] - nums[0];
System.out.println("#" + tc + " " + result);
}
}
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[SW Expert Academy] 1213. String- Java (0) | 2019.08.29 |
---|---|
[SW Expert Academy] 1209. Sum- Java (0) | 2019.08.13 |
[SW Expert Academy] 1210. Ladder1- Java (0) | 2019.08.09 |
[SW Expert Academy] 1206. View - Java (0) | 2019.08.07 |
[SW Expert Academy] 1204. 최빈수 구하기 - Java (0) | 2019.08.02 |