[Java] 백준 15단계 - 1735번 문제 (분수 합)
자료구조 & 알고리즘/BOJ2023. 7. 26. 04:26[Java] 백준 15단계 - 1735번 문제 (분수 합)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int arr[] = new int[4]; for(int i = 0; i < 4; ++i) arr[i] = in.nextInt(); int a = (arr[0] * arr[3]) + (arr[1]* arr[2]); int b = arr[1] * arr[3]; int minDivisor = gcd(a, b); System.out.println(a / minDivisor + " " + b / minDivisor); } public static int gcd(int a, i..

[Java] 백준 15단계 - 13241번 문제 (최소공배수)
자료구조 & 알고리즘/BOJ2023. 7. 26. 03:40[Java] 백준 15단계 - 13241번 문제 (최소공배수)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); long a = in.nextLong(); long b = in.nextLong(); System.out.println(a * b / gcd(a, b)); } public static long gcd(Long a, Long b) { if(b == 0) return a; else return gcd(b, a % b); } } 설명 최소공배수와 최대공약수와의 관계는 아래와 같다. 두 자연수의 곱 = 최대공약수 × 최소공배수 최소공배수 = 두 자연수의 곱 / 최대공약수 유클..

[JAVA] 사용자 정의 예외
Language/Java2023. 7. 26. 00:02[JAVA] 사용자 정의 예외

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 사용자 정의 예외 사용자 정의 예외란 예를 들어 은행의 뱅킹 프로그램에서 잔고보다 더 많은 출금 요청이 들어온 경우에는 잔고 부족 예외를 발생 시킬 필요가 있다. 하지만 잔고 부족 예외는 자바의 표준 라이브러리에는 존재하지 않기 때문에 직접 예외 클래스를 정의해서 사용해야 한다. 이렇게 사용자가 직접 예외 클래스를 정의하는 것을 사용자 정의 예외 클래스라고 한다. 사용자 정의 예외는 일반 예외와 실행 예외로 선언할 수 있다. 일반 예외 : 컴파일러가 체크, Exception의 자식 클래스로 선언 실행 예외 : 컴파일러가 체크하지 않음, RunTimeException의 자식 클래스로 선..

[Java] 백준 15단계 - 1934번 문제 (최소공배수)
자료구조 & 알고리즘/BOJ2023. 7. 25. 19:31[Java] 백준 15단계 - 1934번 문제 (최소공배수)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int T = in.nextInt(); for(int i = 0; i < T; i++) { int a = in.nextInt(); int b = in.nextInt(); System.out.println(a * b / gcd(a, b)); } } public static int gcd(int a, int b) { if(b == 0) return a; else return gcd(b, a % b); } } 설명 최소공배수와 최대공약수와의 관계는 아래와 같다. 두 자연수의..

[JAVA] 리소스(resource) 자동 닫기
Language/Java2023. 7. 25. 00:45[JAVA] 리소스(resource) 자동 닫기

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 리소스란 데이터를 제공하는 객체(DB 등)를 뜻한다. 리소스를 사용하기 위해선 열어야 하고, 사용이 끝나면 반드시 닫아야 한다. 리소스를 사용하고 닫지 않으면 불안정한 상태로 남게 된다. try-catch-finally문 리소스를 자동으로 닫는 기본적인 방법은 try-catch-finally문에서 finally 부분에 리소스를 닫는 코드를 넣어주면 된다. finally는 예외가 발생하든 안 하든, 메소드가 return문을 만나도 무조건 실행되기 때문이다. FileInputStream fis = null; try { fis = new FileInputStream("file.tsxt");..

[Java] Getter와 Setter 메소드
Language/Java2023. 7. 24. 09:10[Java] Getter와 Setter 메소드

일반적으로 객체 지향 프로그래밍에서는 객체의 필드를 객체 외부에서 직접적으로 접근하는 것을 막는다. 왜냐하면 예를 들어 속력은 음수가 될 수 없는데, 외부에서 속력을 저장하는 변수에 음수를 저장하면 문제가 생긴다. 이를 무결성이 깨졌다고 한다. 이러한 문제점을 해결하기 위해 객체 지향 프로그래밍에서는 메소드를 통해서 필드를 변경하는 방법을 선호한다. 필드는 외부에서 접근할 수 없게 하고(private 접근 제한자 사용), 메소드는 접근할 수 없는 필드에 접근할 수 있도록 한다. 이러한 메소드를 Setter라고 한다. 외부 객체에서 데이터를 읽을 때도 메소드를 사용하는 것이 좋다. 왜냐하면 필드값을 직접 사용하면 부적절한 경우도 있기 때문이다. 이런 경우에는 메소드로 필드값을 가공한 후 외부로 전달하면 된..

[C++] 백준 14단계 - 11478번 문제 (서로 다른 부분 문자열의 개수)
자료구조 & 알고리즘/BOJ2023. 7. 24. 07:42[C++] 백준 14단계 - 11478번 문제 (서로 다른 부분 문자열의 개수)

문제설명 소스코드 #include #include #include using namespace std; int main() { string input; int count = 0; cin >> input; for (int i = 0; i < input.length(); ++i) { vector vec; for (int j = 0; j < input.length() - i; ++j) { string strTmp = input.substr(j, i + 1); //문자열 잘라내기 vec.push_back(strTmp); //벡터에 원소 추가 } sort(vec.begin(), vec.end()); //벡터 정렬 vec.erase(unique(vec.begin(), vec.end()), vec.end()); //..

[C++] 백준 14단계 - 1269번 문제 (대칭 차집합)
자료구조 & 알고리즘/BOJ2023. 7. 24. 03:54[C++] 백준 14단계 - 1269번 문제 (대칭 차집합)

문제설명 소스코드 map을 이용 #include #include using namespace std; int main(void) { map m; int aSize, bSize; cin >> aSize >> bSize; for (int i = 0; i > input; m.insert(pair(input, true)); //입력받은 값과 true를 맵에 저장 } int count = 0; //교집합 개수를 저장 for (int i = 0; i > input; if (m[input] == true) count++; //맵에 해당하는 값이 있으면 count를 1증가 } cout > aSize >> ..

image