백준 1000
두 정수 A와 B를 입력받은 다음, A+B를 출력하자


 

 

[두가지 정답]

 

1. A,B 를 따로 선언

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		int B = sc.nextInt();
		
		System.out.println(A+B);
	}
}

 

2. A,B 한번에 선언

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int A,B;
		A =  sc.nextInt();
		B = sc.nextInt();
		
		System.out.println(A+B);
	}
}

 

 

 


 

백준 1001

곱셈은 위 코드와 같고 곱셈(*) 으로  고쳐주면 된다.

 

 


 

백준 1008

 

두 정수 A와 B를 입력받은 다음, A/B를 출력하자

 

 

 

정수값으로 입력하지만 실수로 출력하라!

 

 

 

 

그렇다면 마지막 출력시 double로 형변환을했다.

정수값을 실수값으로 바꾸려고 (Double.valueOf(A/B) 로 하니 에러..

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int A,B;
		A = sc.nextInt();
		B = sc.nextInt();
		
		System.out.println(Double.valueOf(A/B));
	}

}

 

 

 

 

[정답]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int A,B;
		A = sc.nextInt();
		B = sc.nextInt();
		
		System.out.println((double)A/B);
	}

}

 

 

▶ System.out.println((double)A/B); 이건 정답
System.out.println(Double.valueOf(A/B)); 이건 오답

 

왜냐  

1/3 했을때

System.out.println((double)A/B); ▶0.3333333333333333

System.out.println(Double.valueOf(A/B)); ▶0.0  0이 나와서

 

 

 

 

[다른 정답]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		double A = sc.nextDouble();
		int B = sc.nextInt();
		
		System.out.println(A/B);
	}

}

double A = sc.nextDouble(); 

 

A만 실수로 선언해줘도 정답이고

A,B 모두 (double A,B;) 실수로 선언해줘도 정답

 

 


 

백준 10869
두 자연수 A와 B가 주어진다.
A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하자

 

 

 

 

[내가 쓴 정답]

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int A = sc.nextInt();
		int B = sc.nextInt();
		
		System.out.println(A+B);
		System.out.println(A-B);
		System.out.println(A*B);
		System.out.println(A/B);
		System.out.println(A%B);
	}

}

 

몫은 / 

나머지는 %

 

 

 


 

백준 10926
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다.
준하는 놀람을 ??!로 표현한다.
준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때,
놀람을 표현하는 결과를 출력하자

 

 

[입력]

아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.

 

 

 

 

 

[내가 쓴 정답]

 

* 아이디 길이 50 이하 조건만 성립되어도 통과는 됐음

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc =  new Scanner(System.in);
		
		String id = sc.nextLine().toLowerCase();
		
		if(id.length() <= 50) {
			System.out.println(id + "??!");
		}
	}

}

 

int sc.nextInt();

String ▶ sc.nextLine()

 

 

 

 


 

백준 18108

 

 

 

 

서기연도를 어떻게 구하느냐

불기연도에서 불기연도와 서기연도 사이의 값을 빼면 서기연도이다. 

 

불기연도 2541 , 서기연도 1998

서기연도 = 불기연도 - ( 2541 - 1998 ) 

 

 

 

 

[내가 쓴 정답]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc =  new Scanner(System.in);
		
		int bulgi = sc.nextInt();
		
		int seogi = bulgi - (2541 - 1998); // 543
		
		System.out.println(seogi);
	}

}

 

 

 

 


백준 300

 

킹, 퀸, 룩, 비숍, 나이트, 폰

 

 

 

원래는  킹(1), 퀸(1), 룩(2), 비숍(2), 나이트(2), 폰(8)의 알맞은 개수가 있어야하는데 흰색 피스가 모자라다.

 

 

첫째 줄에 동혁이가 찾은 흰색 피스 개수가 주어진다. (입력값)

여기서 피스가 부족하면 더해야하고 피스가 많으면 빼야한다.

0 1 2 2 2 7

 

출력값은

입력값에서 부족한 피스는 추가되거나 빼야할 개수

1 0 0 0 0 1

 

 

 

 

 

[print 로 출력했을 경우 정답]

 

print는 공백을 기준으로 정렬이 돼서 각 변수 뒤에 공백을 넣어 출력해준다. 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc =  new Scanner(System.in);
		
		int king = 1;
		int queen = 1;
		int look = 2;
		int bishop = 2;
		int night = 2;
		int pone = 8;
		
		king = king - sc.nextInt();
		queen = queen - sc.nextInt();
		look = look - sc.nextInt();
		bishop = bishop - sc.nextInt();
		night = night - sc.nextInt();
		pone = pone - sc.nextInt();
		
		System.out.print(king + " ");
		System.out.print(queen + " ");
		System.out.print(look + " ");
		System.out.print(bishop + " ");
		System.out.print(night + " ");
		System.out.print(pone);
		
		sc.close();
		
	}

}

 

 

 

 

[printf 로 출력했을 경우 정답]

 

정해진 피스 값에서 입력값을 빼기 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc =  new Scanner(System.in);
		
		int king = 1;
		int queen = 1;
		int look = 2;
		int bishop = 2;
		int night = 2;
		int pone = 8;
		
		king = king - sc.nextInt();
		queen = queen - sc.nextInt();
		look = look - sc.nextInt();
		bishop = bishop - sc.nextInt();
		night = night - sc.nextInt();
		pone = pone - sc.nextInt();
		
		System.out.printf("%d %d %d %d %d %d", king, queen, look, bishop, night, pone);

		sc.close();
		
	}

}

 

 

더 간단하게는

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc =  new Scanner(System.in);
		
		int king = sc.nextInt();;
		int queen = sc.nextInt();;
		int look = sc.nextInt();;
		int bishop = sc.nextInt();;
		int night = sc.nextInt();;
		int pone = sc.nextInt();;

		System.out.printf("%d %d %d %d %d %d", 1-king, 1-queen, 2-look, 2-bishop, 2-night, 8-pone);

		sc.close();
		
	}

}

 

** %d %d %d %d %d %d 를 쉼표로 구분했더니 틀렸다 (콘솔창엔 정상 출력되길래 헤맸다..)

 

 

[짧은 다른 코드 참고]

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
       
        Scanner nu=new Scanner(System.in);
        int chess[]={1,1,2,2,2,8};
        for (int i=0; i<chess.length; i++){
            System.out.print(chess[i]-nu.nextInt()+ " ");
        }
    }
}

 

 

[BufferedReader 입력방법으로 했을때 ]

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

public class Main {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer st = new StringTokenizer(br.readLine()," ");
		
		int king = Integer.parseInt(st.nextToken());
		int queen = Integer.parseInt(st.nextToken());
		int look = Integer.parseInt(st.nextToken());
		int bishop = Integer.parseInt(st.nextToken());
		int night = Integer.parseInt(st.nextToken());
		int pone = Integer.parseInt(st.nextToken());
		
		
		System.out.printf("%d %d %d %d %d %d",1-king, 1-queen, 2-look, 2-bishop, 2-night, 8-pone);
		
	}

}
반응형
LIST

+ Recent posts