수학 56

[Java] 백준 풀기 3062 - 수 뒤집기

자바 백준 3062번 브론즈 2 https://www.acmicpc.net/problem/3062 3062번: 수 뒤집기 수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다. 124와 같이 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오. www.acmicpc.net 문제 보기 분류: 수학, 구현, 문자열, 사칙연산 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 테스트 케이스의 개수 입력 int T = sc.nextInt(); // 각 테스트 케이스에 대해 확..

공부하기/백준 2023.11.23

[Java] 백준 풀기 10829 - 이진수 변환

자바 백준 10829번 브론즈 2 https://www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net 문제 보기 분류: 수학, 구현 코드 보기 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Long.toBinaryString()은 long 타입의 값을 이진수 문자열로 변환하는 것이기 때문에, 음수가 아닌 경우 64비트까지만 처리 // ..

공부하기/백준 2023.11.22

[Java] 백준 풀기 1198 - 삼각형으로 자르기

자바 백준 1198번 실버 2 https://www.acmicpc.net/problem/1198 1198번: 삼각형으로 자르기 볼록 다각형이 있고, 여기서 3개의 연속된 점을 선택해서 삼각형을 만든다. 그 다음, 만든 삼각형을 다각형에서 제외한다. 원래 다각형이 N개의 점이 있었다면, 이제 N-1개의 점으로 구성된 볼록 www.acmicpc.net 문제 보기 분류: 수학, 브루트포스 알고리즘, 기하학 코드 보기 import java.util.Scanner; import java.util.ArrayList; public class Main { // 점을 표현하는 Point 클래스 static class Point { int x, y; // Point 클래스 constructor Point(int x, in..

공부하기/백준 2023.11.17

[Java] 백준 풀기 1735 - 분수 합

자바 백준 1735번 실버 3 https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 문제 보기 분류: 수학, 정수론, 유클리드 호제법 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 두 분수의 분자와 분모를 입력 int a1 = sc.nextInt(); // 첫 번째 분수의 분자 int b1 = sc.nextInt(..

공부하기/백준 2023.10.21

[Python] 백준 풀기 19532 - 수학은 비대면강의입니다

파이썬 백준 19532번 브론즈 2 https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 문제 보기 분류: 수학, 브루트포스 알고리즘 코드 보기 import sys inputdata = sys.stdin.readline # 연립 방정식을 계산하는 함수 정의 def calcEquation(a, b, c, d, e, f): # x와 y 값을 계산 x..

공부하기/백준 2023.10.09

[Python] 백준 풀기 1934 - 최소공배수

파이썬 백준 1934번 브론즈 1 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 보기 분류: 수학, 정수론, 유클리드 호제법 코드 보기 import sys inputdata = sys.stdin.readline # 두 수의 최대 공약수를 계산하는 함수 def greatestCommonDivisor(num1, num2): while num2: num1, num2 = num2, num1 % num2 return num1 ..

공부하기/백준 2023.10.08

[Java] 백준 풀기 1977 - 완전 제곱수

자바 백준 1977번 브론즈 2 https://www.acmicpc.net/problem/1977 1977번: 완전제곱수 M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완 www.acmicpc.net 문제 보기 분류: 수학, 구현, 브루트포스 알고리즘 문제 풀기 주어진 범위의 수를 하나씩 선택하여 Math.sqrt() 를 이용하여 제곱근을 구한다. 완전 제곱수인지 확인하기 위해 구한 제곱근을 int 타입으로 변경하고 제곱한 값이 초기에 선택한 값과 일치하는지 확인한다. 만약 일치한다면 완전 제곱수이므로 최솟값 또는 누적합으로 저장을 한다. 완전..

공부하기/백준 2023.09.19

[Java] 백준 풀기 10610 - 30

자바 백준 10610번 실버 4 https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 문제 보기 분류: 수학, 그리디 알고리즘, 문자열, 정렬, 정수론 문제 풀기 30의 배수가 가능한지 알아보기 위해서 주어진 숫자의 각 자리를 모두 합한 값이 3의 배수가 되는지 확인하고 0이 하나라도 존재하는지 확인한다. String 타입으로 입력 받은 숫자를 charAt() - '0' 방법을 이용하여 int 타입의 숫자로 변경한다. 0부터 9까지 각 숫자의 개수를 ..

공부하기/백준 2023.08.14

[Java] 백준 풀기 11005 - 진법 변환 2

자바 백준 11005번 브론즈 1 https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 보기 분류: 수학, 구현 문제 풀기 주어진 10진수를 목표 진법으로 나누어 그에 따른 나머지가 10 미만인지 또는 10 이상인지 판별한다. 10 미만일 경우 숫자로 변환하고, 10 이상일 경우 알파벳으로 변환하여 저장한다. 숫자 또는 알파벳 변환은 `char`를 이용한 계산 특성을 이용한다. 코드 보기 import java.util.Scanner; pu..

공부하기/백준 2023.08.08

[Java] 백준 풀기 1004 - 어린 왕자

자바 백준 1004번 실버 3 https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제 보기 분류: 수학, 기하학 문제 풀기 문제에서 요구하는 횟수를 구하기 위해서 출발점 또는 도착점이 주어지는 원들의 안에 위치하는지 판단한다. 점이 원안에 있어야 경계면을 지나기 때문이다. 이때, 출발점과 도착점이 동시에 원안에 위치할 때에는 이 판단이 성립하지 않으므로 이는 제외한다. 한 점과 원의 정보가 주어졌을때 점이 안에 있는지 판단하기 위해..

공부하기/백준 2023.07.28