자바

Coding Test/프로그래머스

[Java] 배열의 길이를 2의 거듭제곱으로 만들기

문제설명 정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 1 ≤ arr의 원소 ≤ 1,000 입출력 예 입출력 예 설명 입출력 예 #1 예제 1번의 arr의 길이는 6입니다. arr의 길이를 2의 정수 거듭제곱으로 만드는 방법은 0을 2개, 10개, 26개,..., 추가하는 방법이 있고 그중 최소한으로 0을 추가하는 방법은 2개를 추가하는 것입니다. 따라서 [1, 2, 3, 4, 5, 6, 0, 0]을 return 합니다. 입출력 예 #2 예제 2번의 arr의 길이는 4이고 이미..

Programming/JAVA

[Java] 배열, 콜렉션 정렬하는 방법에 대해 알아보기

자바에서는 다양한 방법으로 배열과 컬렉션을 정렬할 수 있는데요. 가장 일반적인 방법은 Arrays.sort()와 Collections.sort() 메서드를 사용하는 것입니다! 하지만 이 외에도 Comparator와 Comparable 인터페이스를 구현하여 사용자 정의 정렬 기준을 지정할 수도 있는데요. 아래에서 각각의 방법을 설명해보도록 하겠습니다! 1. 배열 정렬 Arrays.sort() 배열을 정렬합니다. 기본적으로 오름차순으로 정렬됩니다. Comparable 인터페이스를 구현한 객체의 배열은 기본 정렬 기준에 따라 정렬됩니다. int[] array = {3, 1, 4, 1, 5, 9, 2, 6}; Arrays.sort(array); // 오름차순으로 정렬 사용자 정의 Comparator를 이용한 배..

Programming/JAVA

[Java] Java에서 정수를 문자열로 변환하는 방법

자바에서는 종종 정수를 문자열로 변환해야 하는 경우가 있는데요 오늘은! 자바에서 정수를 문자열로 변환하는 다양한 방법에 대해 알아보겠습니다. 1. String.valueOf() 메서드 사용 int number = 123; String strNumber = String.valueOf(number); 2. Integer.toString() 메서드 사용 int number = 123; String strNumber = Integer.toString(number); 3. String.format() 메서드 사용 int number = 123; String strNumber = String.format("%d", number); 4. StringBuilder 또는 StringBuffer 사용 int number ..

Coding Test/프로그래머스

[Java] 문자열이 몇 번 등장하는지 세기

문제설명 문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString ≤ 1000 1 ≤ pat ≤ 10 입출력 예 입출력 예 설명 입출력 예 #1 "banana"에서 1 ~ 3번 인덱스에서 한 번, 3 ~ 5번 인덱스에서 또 한 번 "ana"가 등장해서 총 두 번 등장합니다. 따라서 2를 return 합니다. 입출력 예 #2 "aaaa"에서 0 ~ 2번 인덱스에서 한 번, 1 ~ 3번 인덱스에서 한 번, 2 ~ 4번 인덱스에서 한 번 "aa"가 등장해서 총 세 번 등장합니다. 따라서 3을 return 합니다. 코드 설명 int answer = 0; int idx = 0; answer ..

Coding Test/프로그래머스

[Java, JavaScript] 나누어 떨어지는 숫자 배열

문제설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]을 리턴합니다. 입출력 예#2 arr의 모든 원소는 1으로 나누어 떨어집니다. 원소를 오름차순으로 정렬해 [1, 2, 3, 36]을 리턴합니다. 입출력 예#3 3,..

Coding Test/프로그래머스

[JAVA] 로또의 최고 순위와 최저 순위

문제설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위당첨 내용 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다. 순서..

Coding Test/프로그래머스

[JAVA] 다트 게임

문제설명 카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~ 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#)..

Coding Test/프로그래머스

[JAVA] 기사단원의 무기

문제설명 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력이 2인 무기..

노 코딩 노 라이프
'자바' 태그의 글 목록