자바 28

[백준] 2805번 자바 나무자르기

문제 출처 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따 www.acmicpc.net 접근 방식 및 풀이 - 나무길이에 대한 높이를 계산할때 long타입 지정 - mid에서 +1해 가는 방식이 아니라 이분탐색..

[백준] 1517번 자바 버블정렬

문제 출처 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1≤N≤500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0≤|A[i]|≤1,000,000,000의 범위에 들어있다. www.acmicpc.net 접근 방식 및 풀이 - 문제에 나와 있는대로 버블 소트로 풀었다가 시간초과... - Merge Sort의 count로 해결! - 배열은 long 타입으로 지정! - 참고 블로그 https://redbinalgorithm.tistory.com/m/99 백준 : 1517 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1≤N≤..

[JAVA] Math Method

개념 Math 메소드 : 거의 전역 메소드 이다. - 자바에서는 전역이라는 이름이 붙은 것이 전혀 없다는 사실을 감안하면 '거의' 전역 메소드라고 할 수 있음. - 그 행동이 인스턴스 변수의 값에 의존하지 않는 메소드임. 항상 똑같은 일을함. - Math 메소드에 인스턴스 변수를 사용하지 않는다. 즉 아래와 같이 선언하고 사용하는 것은 에러가 난다. Math mathObject = new Math(); - Math 클래스에 들어 있는 메소드에서는 인스턴스 변수의 값을 전혀 사용하지 않는다. 그런 메소드는 '정적'이기 때문에 Math의 인스턴스는 필요없다. 사용하려면 Math클래스만 있으면 된다. 예제 int x = Math.round(42.2); // 반올림 int y = Math.min(56,12); ..

Programming/Java 2020.03.27

[백준] 11653번 자바 소인수분해

문제 출처 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 접근 방식 및 풀이 - 2부터 1씩 증가하면서 나눈다. 3,4 하나씩 증가하면서 나누게 되는데, 4로 나눠지는 숫자는 2에서 처리됬으므로 i++로 해도 상관없다. 소스 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int i=2; while (n >= i){ if(n%i == 0){ Sys..

[백준] 10814번 자바 array2차원배열

문제 출처 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. www.acmicpc.net 접근 방식 및 풀이 - Map으로 해야하나 고민했지만, 같은 index가 들어오는 경우도 있기 때문에 2차원 배열로 해야한다. - 2차원 배열의 sort도 기억하기... 소스 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System..

[백준] 10809번 자바

문제 출처 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. www.acmicpc.net 접근 방식 및 풀이 10808번를 응용한 문제이다. [Algorithm/백준] - [백준] 10808번 자바 LIST - -1로 모든 초기화 하고, - 처음 나오면 index 를 입력하고, 두번째부터는 아무것도 하지 않고 지나간다. 소스 코드 import java.util.ArrayList; ..

[백준] 10430번 자바 풀이

문제 출처 https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 접근 방식 및 풀이 문제에 주어진대로 출력하면 된다. 소스 코드 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(((..