백준 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);
}
}
'공부' 카테고리의 다른 글
[백준] 1단계 | 입출력과 사칙연산 10~14 (0) | 2023.01.26 |
---|---|
입력방법 BufferedReader (0) | 2023.01.20 |
어노테이션 | @Controller, @RequestMapping, @ModelAttribute | Command 객체란? (0) | 2023.01.17 |
정합성 문제 | DB의 격리수준 | 스프링부트의 트랜잭션 (0) | 2022.11.07 |
STS4 툴에서 JSP , HTML , CSS 확장자 파일 없을 때 해결법 (0) | 2022.11.05 |