본문 바로가기

CodeUp/Java

[CodeUp_JAVA] 1091 ~ 1095

문제 설명

시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때,
n번째 수를 출력하는 프로그램을 만들어보자.

입력

시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째 인지를 나타내는 정수(n)가
공백을 두고 입력된다.(a, m, d는 -50 ~ +50, n은 10이하의 자연수)

출력

n번째 수를 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		long a = sc.nextInt();
		long m = sc.nextInt();
		long d = sc.nextInt();
		long n = sc.nextInt();
        
		for (int i = 1; i < 100; i++) {
			if(i == n) {
				break;
			}
			a *= m;
			a += d;
		}

		System.out.println(a);

	}
}

 

문제 설명

같은 날 동시에 가입한 3명의 사람들이 온라인 채점시스템에 들어와 문제를 푸는 날짜가
매우 규칙적이라고 할 때, 다시 모두 함께 문제를 풀게 되는 그날은 언제일까?

입력

같은 날 동시에 가입한 인원 3명이 규칙적으로 방문하는,
방문 주기가 공백을 두고 입력된다. (단, 입력값은 100이하의 자연수이다.)

출력

3명이 다시 모두 함께 방문해 문제를 풀어보는 날(동시 가입/등업 후 며칠 후?)을 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String[] i = sc.nextLine().split(" ");
		int a = Integer.parseInt(i[0]);
		int b = Integer.parseInt(i[1]);
		int c = Integer.parseInt(i[2]);
		int d = 1;

		while (d % a != 0 || d % b != 0 || d % c != 0) {
			d++;
		}

		System.out.println(d);

	}
}

 

문제 설명

출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자.

입력

첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력된다. (1 ~ 10000)
두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력된다.

출력

1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한 줄로 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		int[] a = new int[23];
		int b, c, cnt = 0;
		b = sc.nextInt();

		for (int i = 0; i < b; i++) {
			c = sc.nextInt();
			a[c - 1]++;
		}

		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}

	}
}


문제 설명

출석 번호를 n번 무작위로 불렀을 때, 부른 번호를 거꾸로 출력해 보자.

입력

번호를 부른 횟수(n, 1 ~ 10000)가 첫 줄에 입력된다.
n개의 랜덤 번호(k, 1 ~ 23)가 두 번째 줄에 공백을 사이에 두고 순서대로 입력된다.

출력

출석을 부른 번호 순서를 바꾸어 공백을 두고 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int cnt = sc.nextInt();
		int[] a = new int[cnt];
		int i, j, n = 0;

		for (i = 0; i < cnt; i++) {
			n = sc.nextInt();
			a[i] = n;
		}
		
		for (j = a.length - 1; j >= 0; j--) {
			System.out.printf("%d ", a[j]);
		}

	}
}

 

문제 설명

출석 번호를 n번 무작위로 불렀을 때, 가장 빠른 번호를 출력해 보자.

입력

번호를 부른 횟수(n, 1 ~ 10000)가 첫 줄에 입력된다.
n개의 랜덤 번호(k, 1 ~ 23)가 두 번째 줄에 공백을 사이에 두고 순서대로 입력된다.

출력

출석을 부른 번호 중에 가장 빠른 번호를 1개만 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] a = new int[n];
		int r;
		int min = 10000;

		for (int i = 0; i < a.length; i++) {
			r = sc.nextInt();
			a[i] = r;
			if(min > a[i]) {
			    min = a[i];
			}
		}

		System.out.println(min);
		
	}
}

 

'CodeUp > Java' 카테고리의 다른 글

[CodeUp_JAVA] 1096 ~ 1099  (0) 2022.02.14
[CodeUp_JAVA] 1086 ~ 1090  (0) 2022.02.09
[CodeUp_JAVA] 1081 ~ 1085  (0) 2022.02.04
[CodeUp_JAVA] 1076 ~ 1080  (0) 2022.01.20
[CodeUp_JAVA] 1071 ~ 1075  (0) 2022.01.19