[코딩테스트 연습, 백준, Java] 브론즈 :: 1271, 1550, 2338, 2845
my code archive
article thumbnail
반응형

💡1271번 엄청난 부자

 

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

 

1271번: 엄청난 부자2

첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수)

www.acmicpc.net

 

  • long보다 큰 범위를 위해 BigInteger 사용.
  • BigInteger : java.math 안에 존재하며 BigInteger는 문자열 형태로 이루어져서 숫자의 범위가 부한대임. 계산은 BigInteger안의 메소드(divide...)를 사용하면 됨.
import java.math.BigInteger;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		BigInteger n = scan.nextBigInteger();
		BigInteger m = scan.nextBigInteger();
		
		System.out.println(n.divide(m));
		System.out.println(n.remainder(m));
		scan.close();
	}
}

 

💡1550번 16진수

 

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

 

1550번: 16진수

첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.

www.acmicpc.net

 

  • 16진수를 입력받아 10진수로 출력하는 간단한 문제 => parseInt( ) 가 포인트!!
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		String a = scan.next();
		scan.close();
		int answer = Integer.parseInt(a,16);
		System.out.println(answer);
	}
}

 

💡2338번 긴 자리 계산

 

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

 

2338번: 긴자리 계산

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).

www.acmicpc.net

 

  • BigInteger 사용
import java.math.BigInteger;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		BigInteger a = scan.nextBigInteger();
		BigInteger b = scan.nextBigInteger();
		System.out.println(a.add(b));
		System.out.println(a.subtract(b));
		System.out.println(a.multiply(b));
	}
}

 

💡2845번 파티가 끝나고 난 뒤

 

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

 

2845번: 파티가 끝나고 난 뒤

파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다. 지난주 토

www.acmicpc.net

 

  •  당 사람 수  과 파티가 열린 곳의 넓이  를 곱해주면 총 면적의 참가자 수를 구할 수 있다.
  • 각 기사 a 에  를 빼주면 된다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st1 = new StringTokenizer(br.readLine());
		
		//1m2당 사람의 수
		int L = Integer.parseInt(st1.nextToken());
		//1m2당 사람의 수 * 파티가 열렸던 곳의 넓이
		int P = L * Integer.parseInt(st1.nextToken());
		StringTokenizer st2 = new StringTokenizer(br.readLine());
		while(st2.hasMoreTokens()) {
			int a = Integer.parseInt(st2.nextToken());
			bw.write(String.valueOf(a-P)+" ");
			bw.flush();
		}
		
		bw.close();
	}
}

 

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형