본문 바로가기

자바27

[Java 공부/기타] 객체 정렬하기 (Comparable & Comparator) 백준 문제를 풀다 보면 정렬이 필요한 문제가 종종 나온다. 대부분의 경우 Arrays.sort()나 Collections.sort()를 호출하여 해결할 수 있지만 정렬에 추가적인 조건이 붙었거나, 사용자가 정의한 객체를 정렬하게 될 경우 추가적인 작업이 필요하다. 이를 위해 필요한 Comparable과 Comparator에 대해 알아보고, 활용하는 법을 배워보자. Comparable Comparable 인터페이스는 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. int[] arr = {1, 3, 5, 7, 2, 4, 6}; Arrays.sort(arr);//arr이 {1, 2, 3, 4, 5, 6, 7}로 정렬 위 예제는 int형 배열을 정렬하는 코드다. Arrays.sort()를 호출하면 컴퓨터가 .. 2022. 8. 1.
[Java 공부/기타] Java 형 변환 정리 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 형 변환 (casting)이라고 한다. 자바를 쓰다 보면 자료형 간에 형 변환을 해야 하는 경우가 생긴다. 이번 글에서는 형 변환하는 방법을 정리해 보겠다. 1. 정수형 ↔️ 실수형 정수형 변수(byte, short, int, long)와 실수형 변수(float, double)는 기본형 변수에 속하기 때문에 자유롭게 형 변환이 가능하다. 기본형 변수 간에 형 변환은 형 변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여주기만 하면 된다. Integer ➡ Double, Float int i = 3; float f = (float) i;//Integer to Float double d = (double) i;//Integer t.. 2022. 7. 31.
[코딩 테스트/ 백준 알고리즘] 1037번 : 약수 (Java 풀이) 문제 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 설명 문제 풀이 약수의 성질을 사용하면 쉽게 풀 수 있는 문제다. 어떤 수 A가 어떤 수 C의 약수라면, C / A = B인 B도 C의 약수라는 것이다. 수 진짜 약수의 개수 진짜 약수 12 4 2, 3, 4, 6 24 6 2, 3, 4, 6, 8, 12 121 1 11 12의 경우 12 % 2 = 0이기 때문에 2는 12의 약수다. 12 / 2 = 6이고, 12 % 6 = 0이.. 2022. 7. 29.
[코딩 테스트/ 프로그래머스] 2018 KAKAO BLIND RECRUITMENT - [1차] 비밀지도 (Java 풀이) 문제 설명 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가.. 2022. 7. 29.