https://www.acmicpc.net/step/6
번호별로 함수 구현해두었습니다.
정답제출시에 클래스안에 함수이름을
main(String[] args)
로 변경해서 제출하시면 됩니다.
package 기초문법;
import java.util.Scanner;
public class _06array {
public _06array() {
// TODO Auto-generated constructor stub
}
public static void ex10818() {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[] a = new int[n];
for(int i=0; i<n; i++) {
a[i] = sc.nextInt();
}
int min=1000000,max=-1000000;
for(int i=0; i<n; i++) {
if(a[i]<min)
min=a[i];
if(a[i]>max)
max=a[i];
}
System.out.printf("%d %d\n",min,max);
}
public static void ex2562() {
Scanner sc = new Scanner(System.in);
int n = 9;
int[] a = new int[n];
for(int i=0; i<n; i++) {
a[i] = sc.nextInt();
}
int max=0, num=0;
for(int i=0; i<n; i++) {
if(a[i]>max) {
max=a[i];
num=i;
}
}
System.out.printf("%d\n%d\n",max,num+1);
}
public static void ex2920() {
Scanner sc = new Scanner(System.in);
int n = 8;
int[] a = new int[n];
for(int i=0; i<n; i++) {
a[i] = sc.nextInt();
}
if(a[0]==1) {
for(int i=0; i<n; i++) {
if(a[i]!=i+1) {
System.out.println("mixed");
return;
}
}
System.out.println("ascending");
}
else if(a[0]==8) {
for(int i=0; i<n; i++) {
if(a[i]!=8-i) {
System.out.println("mixed");
return;
}
}
System.out.println("descending");
}
else
System.out.println("mixed");
}
public static void ex2577() {
Scanner sc = new Scanner(System.in);
int[] n = new int[10]; //0으로 초기화되어있음 0~9까지 횟수카운트
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
String result = String.valueOf(a*b*c);
for(int i=0; i < result.length(); i++) {
int x = result.charAt(i) -'0';
n[x]++;
}
for(int i=0;i<10;i++) {
System.out.println(n[i]);
}
}
public static void ex3052() {
Scanner sc = new Scanner(System.in);
int[] n = new int[10]; //0으로 초기화되어있음
int[] result = new int[42]; //0으로 초기화되어있음
// 입력값의 42로 나눈 나머지를 저장
for(int i=0; i < 10; i++) {
n[i] = sc.nextInt();
n[i] %=42;
}
// 값들을 전부 결과배열에 저장
int tmp=0;
for(int i=0; i < 10; i++) {
tmp = n[i];
result[tmp]++;
}
// 나머지값으로 나온것 갯수파악
int count=0;
for(int i=0; i<42; i++) {
if(result[i]!=0)
count++;
}
System.out.println(count);
}
public static void ex1546() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
float[] score = new float[n]; //0으로 초기화되어있음
float max =0,sum=0;
for(int i=0; i < n; i++) {
score[i] = sc.nextInt();
if(max<score[i])
max=score[i];
}
for(int i=0; i < n; i++) {
score[i]=(score[i]/max)*100;
sum+=score[i];
}
System.out.printf("%f",sum/n);
}
public static void ex8958() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] input = new String[n]; //0으로 초기화되어있음
// 입력받기
for(int i=0; i < n; i++)
input[i] = sc.next();
for(int i=0; i < n; i++) {
int score=0,k=0;
for(int j=0; j < input[i].length(); j++) {
if(input[i].charAt(j)=='O')
score+=++k;
else
k=0;
}
System.out.println(score);
}
}
public static void ex4344() {
Scanner sc = new Scanner(System.in);
int C = sc.nextInt();
for(int i=0; i < C; i++) {
int num = sc.nextInt(); //0으로 초기화되어있음
int score[] = new int[num];
float sum=0, avg=0;
for(int j=0; j<num; j++) {
score[j]= sc.nextInt();
sum+=score[j];
}
avg = sum/num;
float count=0;
for(int j=0; j<num; j++) {
if(score[j]>avg)
count+=1;
}
float result = (count/num) * 100;
System.out.printf("%.3f"+"%%\n",result); // 퍼센트 기호 출력은 %%
}
}
}
3052번은 저만에 방법으로 풀었어요, 효과적으로 푸는 방법은 많을것입니다.
질문받고, 오류지적도 감사합니다.
'Algorithm > 백준 단계별 문제' 카테고리의 다른 글
[백준] 7. String 문자열 - Java 코드 (0) | 2020.01.27 |
---|---|
[백준] 6. Funtion 함수 - Java 코드 (0) | 2020.01.27 |
[백준] 4. while문 - Java 코드 (0) | 2020.01.27 |
[백준] 3. for문 - Java 코드 (0) | 2020.01.27 |
[백준] 2. if문 - Java 코드 (0) | 2020.01.27 |