지-코바
지코바 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]++;
}
}
}
}
결과