본문 바로가기

알고리즘/백준

[백준 알고리즘]_입출력과 사칙연산

 

1) 2557

문제 : Hello World!를 출력하시오.

입력 : 없음

출력 : Hello World!를 출력하시오.

예제입력 : 없음

예제출력 : Hello World!

 

제출주의) Class명은 Main으로 해야한다.

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

 

2) 1000

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

입력 : 첫째 줄에 A와 B가 주어진다. (0<A, B<10)

출력 : 첫째 줄에 A+B를 출력한다.

예제입력 : 1 2

예제출력 : 3

 

제출주의) import도 같이 입력해야 한다.

 

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);
	}
}

 

3) 1001

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

입력 : 첫째 줄에 A와 B가 주어진다. (0<A, B<10)

출력 : 첫째 줄에 A-B를 출력한다.

예제입력 : 3 2

예제출력 : 1

 

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);
	}
}

 

4) 10998

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

입력 : 첫째 줄에 A와 B가 주어진다. (0<A, B<10)

출력 : 첫째 줄에 AxB를 출력한다.

예제입력 : 1 2

예제출력 : 2

 

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);
	}
}

 

5) 1008

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

입력 : 첫째 줄에 A와 B가 주어진다. (0<A, B<10)

출력 : 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10^-9 이하이면 정답이다.

예제입력1 : 1 3

예제출력1 : 0.333333333333333

예제입력2 : 4 5

예제출력2 : 0.8

 

제출주의) 당연하게 위에처럼 똑같이 입력하고 부호만 바꿨는데 틀렸다. 그 이유는 절대오차 때문에 double은 15~16자리까지 표기하므로 정확도의 이유로 인해 double을 써야 정답이다.

 

import java.util.Scanner;

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

 

6) 10869

문제 : 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.

입력 : 두 자연수 A와 B가 주어진다. (1≤A, B≤10,000)

출력 : 첫째 줄에, A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

예제입력 : 7 3

예제 출력 : 10 4 21 2 1

 

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);
		System.out.println(A-B);
		System.out.println(A*B);
		System.out.println(A/B);
		System.out.println(A%B);
	}
}

 

7) 10926

문제 : 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하는 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.

입력 : 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.

출력 : 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.

예제입력 : joonas

예제출력 : joonas??!

 

제출주의) 입력된 id의 값이 맞는지 확인하는 코드를 입력 하고 출력하는것인 줄 알겠지만, 단순히 아래처럼 입력하는 것이다.

 

import java.util.Scanner;

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

 

8) 18108

문제 : ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오.

입력 : 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000)

출력 : 불기 연도를 서기 연도로 변환한 결과를 출력한다.

예제입력 : 2541

예제출력 : 1998

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int y = sc.nextInt();
		
		System.out.println(y-543);
	}
}

 

9) 10430

문제 :

(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?

(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?

세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.

입력 : 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

출력 : 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.

예제입력 : 5 8 4

예제출력 : 1 1 0 0

 

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();
		int C = sc.nextInt();
		
		System.out.println((A+B)%C);
		System.out.println(((A%C) + (B%C))%C);
		System.out.println((A*B)%C);
		System.out.println(((A%C) * (B%C))%C);
	}
}

 

10) 2588

문제 :

(세 자리수) x (세 자리수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)의 위치에 들어갈 세 자리 자연수가 주어질 때, (3), (4), (5), (6) 위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력 : 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

출력 : 첫째 줄 부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

예제입력 : 472 385

예제출력 : 2360 3776 1416 181720

 

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();
		
		int m1 = B % 10;
		int m2 = B % 100 / 10;
		int m3 = B / 100;
		
		int result1 = m1 * A;
		int result2 = m2 * A;
		int result3 = m3 * A;
		
		System.out.println(result1);
		System.out.println(result2);
		System.out.println(result3);
		System.out.println(A * B);
		
	}
}

 

11) 11382

문제 : 꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례다.

입력 : 첫 번째 줄에 A,B,C(1≤A, B C ≤ 10^12)이 공백을 사이에 두고 주어진다.

출력 : A + B + C의 값을 출력한다.

예제입력 : 77 77 7777

예제출력 : 7931

 

제출주의) 당연하게 int 타입으로 입력하여 제출하였는 런타임에러(InputMismatch)가 났다. 그 이유는 최대값이 10^12이므로 int의 최대값인 2,147,483,647을 넘어가면 -로 결과값을 출력하게 된다. 따라서 int가 아닌 Long이나 String으로 타입을 변경하면 된다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long A = sc.nextLong();
		long B = sc.nextLong();
		long C = sc.nextLong();
		
		System.out.println(A + B + C);		
	}
}

 

12) 10171

문제 : 아래 예제와 같이 고양이를 출력하시오

입력 : 없음.

출력 : 고양이를 출력한다.

예제입력1 : 없음

예제출력1 :

제출주의) 역슬래시를 출력하고 싶은 경우 앞에 역슬래시를 한 번 더 입력해야 한다.

 

public class Main {
	public static void main(String[] args) {
		System.out.println("\\    /\\");
		System.out.println(" )  ( ')");
		System.out.println("(  /  )");
		System.out.println(" \\(__)|");
	}
}

 

13) 10172

문제 : 아래 예제와 같이 개를 출력하시오.

입력 : 없음.

출력 : 개를 출력한다.

예제입력1 : 없음

예제출력1 :

제출주의) 큰따옴표를 출력하고 싶으면 앞에 \를 입력해야 한다.

 

public class Main {
	public static void main(String[] args) {
		System.out.println("|\\_/|");
		System.out.println("|q p|   /}");
		System.out.println("( 0 )\"\"\"\\");
		System.out.println("|\"^\"`    |");
		System.out.println("||_/=\\\\__|");
	}
}

 

'알고리즘 > 백준' 카테고리의 다른 글

[백준 알고리즘]_조건문  (0) 2024.08.14