지-코바

지코바 3회차 문제풀이

moonseok 2021. 9. 24. 00:19
 숫자와 문자열

 

package jicoba;

import java.util.Scanner;

public class discriminator {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		char input = sc.next().charAt(0);
		
		if((int)input >= 48 && (int)input <= 57) {
			System.out.println("숫자입니다.");
		}else if ((int)input >= 65 && (int)input <= 90) {
			System.out.println("대문자입니다.");
		}else if((int)input >= 97 && (int)input <= 122) {
			System.out.println("소문자입니다.");
		}else {
			System.out.println("판별할 수 없습니다.");
		}	
	}

}

 

 

 


결과


변수

package jicoba;

public class Variable {
	public static void main(String[] args) {
		int height = 191;
		double size = 0.25;
		double total = height + size;
		char c = 'a';
		String name = "박문석";
		System.out.println("height = " + height);
		System.out.println("size = " + size);
		System.out.println("total = " + total);
		System.out.println("c = " + c);
		System.out.println("나의 이름은 " + name + "입니다.");
	}

}

 

 

 


결과

 


데이터 타입

package jicoba;

public class DataType {
	public static final int HAVERTZ = 29; 
	public static void main(String[] args) {
		long Real = 4200000000L;
		System.out.println("레알마드리드의 구단 가치는 " + Real + "$ 입니다.");
		
		System.out.println("카이 하베르츠의 등번호는 " + HAVERTZ + " 입니다.");
	}
}

 

 

 


결과


형 변환 및 주석과 세미콜론

https://www.acmicpc.net/problem/1008

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

package jicoba;

import java.util.Scanner;

public class Casting {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a,b;
		double answer;
		
		do {
			System.out.println("a 입력 : ");
			a = scan.nextInt();
			if(0 >= a || 10 <= a) {
				System.out.println("0부터 10 사이의 정수를 입력하세요.");
			}
		}while(0 >= a || 10 <= a);
		do {
			System.out.println("b 입력 : ");
			b = scan.nextInt();
			if(0 >= b || 10 <= b) {
				System.out.println("0부터 10 사이의 정수를 입력하세요.");
			}
		}while(0 >= b || 10 <= b);
		answer = (double)a / (double)b;
		System.out.println(answer);
	}
}

 

 


결과

 

 


연산자
 

14888번: 연산자 끼워넣기

첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 

www.acmicpc.net

package jicoba;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class OperatorInjection {
	static int N, arr[], opArr[] = new int[4], min=Integer.MAX_VALUE, max=Integer.MIN_VALUE;

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		N = Integer.parseInt(br.readLine());
		arr = new int[N];
		
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");
		for (int i = 0; i < N; i++) arr[i] = Integer.parseInt(st.nextToken());
		
		st = new StringTokenizer(br.readLine(), " ");
		for (int i = 0; i < opArr.length; i++) opArr[i] = Integer.parseInt(st.nextToken());
		
		find(arr[0] ,0);
		System.out.println(max+"\n"+min);
	}
	
	public static void find(int num, int idx) {
		if(idx == N-1) {
			min = Math.min(min, num);
			max = Math.max(max, num);
			return;
		}
		
		for (int i = 0; i < 4; i++) {
			if(opArr[i] > 0) {
				opArr[i]--;
				switch (i) {
					case 0: find(num + arr[idx+1], idx+1); break;
					case 1: find(num - arr[idx+1], idx+1); break;
					case 2: find(num * arr[idx+1], idx+1); break;
					case 3: find(num / arr[idx+1], idx+1); break;
				}
				opArr[i]++;
			}
		}
	}
}

 

 

 


결과