Problem Solved
[BOJ][Java] 2108번 - 통계학
문제 백준 2108번: 통계학 산술평균, 중앙값, 최빈값, 범위를 구하는 문제 풀이 설명 최빈값을 구하는 조건이 까다로워서 두가지 방법으로 풀었다. 첫번째 방법은 필요 이상으로 복잡해서 시간제한에도 아슬아슬하게 맞았다. 1) 최빈값 구할 때 HqshMap, LinkedList, Comparator 사용 2) 최빈값 구할 때 ArrayList 사용 (참고: https://qlyh8.tistory.com/139) 성공 코드 1) 최빈값 구할 때 HqshMap, LinkedList, Comparator 사용 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRe..
[BOJ][Java] 11651번 - 좌표 정렬하기 2
문제 좌표를 다른 순서로 정렬하는 문제 백준 11651번: 좌표 정렬하기 2 코드 설명 백준 11650번: 좌표 정렬하기에서 정렬 우선순위만 바꿔주면 된다. 설명은 이전글 [BOJ][Java] 11650번 - 좌표 정렬하기 참조 성공 코드 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); int loc[][] = new int[n][2]; for (int i = 0; i < n; i++) { loc[i][..
[BOJ][Java] 11650번 - 좌표 정렬하기
문제 좌표를 정렬하는 문제 백준 11650번: 좌표 정렬하기 코드 설명 참고: [Java] == equals() compareTo() 차이와 사용법 [Java] Comparable와 Comparator의 차이와 사용법 자바 Comparable, Comparator 하면 '정렬'을 떠올려라, 자바 객체 정렬의 '기준'을 정하는 방법! (비교랑 다릅니다!) Comparator, Comparable Interfaces 이해가 쉽지 않아서 블로그들을 많이 참고했다. 한 마디로 정리하면 이번 문제에서는 정렬 기준이 2개일 때 사용하는 것이 Comparator, 기본적인 정렬 기준을 사용하는것이 Comparable인 것이다. 성공 코드 import java.util.Arrays; imp..
[BOJ][Java] 1427번 - 소트인사이드
문제 숫자를 정렬하는 문제 백준 1427번: 소트인사이드 코드 설명 입력값을 문자열로 한글자씩 배열에 넣음 이걸 다시 한글자씩 숫자로 바꿔서 저장해줌 Arrays.sort()를 이용해 오름차순 정렬 원하는 출력값은 내림차순한 숫자이므로 뒤에서부터 차례대로 출력해줌 성공 코드 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String[] n = s.next().split(""); s.close(); solution(n); } public static void solution(String[] ..
[BOJ][Java] 5622번 - 다이얼
문제 백준 5622번: 다이얼 문제 설명 A를 아스키코드로 변환하면 65인 것을 활용하여 문제를 풀었다. 2 ABC 0 1 2 0 3 DEF 3 4 5 1 4 GHI 6 7 8 2 5 JKL 9 10 11 3 6 MNO 12 13 14 4 7 PQRS 15 16 17 18 5 8 TUV 19 20 21 6 9 WXYZ 22 23 24 25 7 위는 다이얼을 표로 정리한 표이다. 3번째 열은 각각 문자를 숫자로 변환하고 65를 뺐을 때의 값이고, 4번째 열은 이를 3으로 나눴을 때의 몫의 값이다. 여기서 빨간색으로 표시한 18, 21, 24, 25만 다이얼 개수 문제로 몫의 값보다 1씩 크다 그래서 4개만 예외로 두고 3을 빼고 나누면 올바른 값이 나온다. 코드에서 문자에 59만 뺀 이유는 편의성을 위해서..
[BOJ][Java] 2908번 - 상수
문제 백준 2908번: 상수 문제 설명 입력받은 두 수를 거꾸로 뒤집어서 큰 숫자를 출력(출력도 뒤집힌 수로 출력) reverse할 때는 StringBuffer를 이용했다. 인풋받은 두 숫자를 리벌스하면서 의미없는 코드가 반복될 것 같아 reverse 함수를 따로 만들어 줬다. 성공 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = reverse(sc.next()); int b = reverse(sc.next()); sc.close(); if (a > b) System.out.println(a); else Syste..