본문 바로가기

CodeUp/Java

[CodeUp_JAVA] 1086 ~ 1090

문제 설명

이미지의 가로 해상도 w, 세로 해상도 h, 한 픽셀을 저장하기 위한 비트 b 가 주어질 때,
압축하지 않고 저장하기 위해 필요한 저장 용량을 계산하는 프로그램을 작성해 보자.

입력

w, h, b 가 공백을 두고 입력된다.
단, w, h는 모두 정수이고 1~1024 이다. b는 40이하의 4의 배수이다.

출력

필요한 저장 공간을 MB 단위로 바꾸어 출력한다.
소수점 이하 셋째 자리에서 반올림해 둘째 자리까지 출력한 뒤 MB를 출력한다.

내 풀이

import java.util.Scanner;

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

		Scanner sc = new Scanner(System.in);
		
		int w = sc.nextInt();
		int h = sc.nextInt();
		int b = sc.nextInt();
		
		float result = (w * h * b / 8.0f) / 1024.0f ;
		
		System.out.printf("%.2f MB", result / 1024.0);

	}
}
 

 

문제 설명

1, 2, 3 ... 을 순서대로 계속 더해나갈 때,
그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자.

입력

언제까지 합을 계산할 지, 정수 1개를 입력받는다.
단, 입력되는 자연수는 100,000,000이하이다.

출력

1, 2, 3, 4, 5 ... 순서대로 계속 더해가다가, 그 합이 입력된 정수보다 커지거나 같아지는 경우,
그때까지의 합을 출력한다.

내 풀이

import java.util.Scanner;

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

		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int sum = 0;
		for (int i = 1; i <= n; i++) {
			if(sum >= n) {
                break;
            }
			sum += i;
		}

		System.out.println(sum);

	}
}

 

문제 설명

1부터 입력한 정수까지 1씩 증가시켜 출력하는 프로그램을 작성하되,
3의 배수인 경우는 출력하지 않도록 만들어보자.

입력

정수 1개를 입력받는다.
(1 ~ 100)

출력

1부터 입력한 정수보다 작거나 같을 때까지 1씩 증가시켜 출력하되
3의 배수는 출력하지 않는다.

내 풀이

import java.util.Scanner;

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

		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int sum = 0;
		for (int i = 1; i <= n; i++) {
			if(i % 3 != 0) {
			    System.out.print(i + " ");
			}
		}

	}
}


문제 설명

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

입력

시작 값(a), 등차의 값(d), 몇 번째 수 인지를 의미하는 정수(n)가
공백을 두고 입력된다.(모두 0 ~ 100)

출력

n번째 수를 출력한다.

내 풀이

import java.util.Scanner;

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

		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int d = sc.nextInt();
		int n = sc.nextInt();
		int sum = a;
		int cnt = 0;

		for (int i = 0; i <= 100; i++) {
			cnt++;
			if(cnt == n) {
				break;
			}
			sum += d;
		}

		System.out.println(sum);

	}
}


문제 설명

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

입력

시작 값(a), 등비의 값(r), 몇 번째 인지를 나타내는 정수(n)가
공백을 두고 입력된다.(모두 0 ~ 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 r = sc.nextInt();
		long n = sc.nextInt();

		for (int i = 0; i < 10; i++) {
			if(i == n) {
			    break;
			}
			a *= r;
		}

		System.out.println(a);

	}
}

 

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

[CodeUp_JAVA] 1096 ~ 1099  (0) 2022.02.14
[CodeUp_JAVA] 1091 ~ 1095  (0) 2022.02.11
[CodeUp_JAVA] 1081 ~ 1085  (0) 2022.02.04
[CodeUp_JAVA] 1076 ~ 1080  (0) 2022.01.20
[CodeUp_JAVA] 1071 ~ 1075  (0) 2022.01.19