[프로그래머스 Lv0.] 181880번 1로 만들기 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명정수가 있을 때, 짝수라면 반으로 나누고, 홀수라면 1을 뺀 뒤 반으로 나누면, 마지막엔 1이 됩니다. 예를 들어 10이 있다면 다음과 같은 과정으로 1이 됩니다.10 / 2 = 5(5 - 1) / 2 = 22 / 2 = 1위와 같이 3번의 나누기 연산으로 1이 되었습니다.정수들이 담긴 리스트 num_list가 주어질 때, num_list의 모든 원소를 1로 만들기 위해서 필요한 나누기 연산의 횟수를 return하도록 solution 함수를 완성해주세요.제한사항3 ≤ num_list의 길이 ≤ 151 ≤ num_list의 원소 ≤ 30입출력 예num_list result[12, 4, 15, 1, 14]11풀이class Solution { public int solution(int[] num..
[프로그래머스 Lv0.] 181871번 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.제한사항5 ≤ myString ≤ 201 ≤ pat ≤ 5pat은 반드시 myString의 부분 문자열로 주어집니다.myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다.입출력 예myString pat result"AbCdEFG""dE""AbCdE""AAAAaaaa""a""AAAAaaaa"풀이class Solution { public String solution(String myString, String pat) { int idx = myString.lastIndexOf(pat);..
[프로그래머스 Lv0.] 181871번 문자열이 몇 번 등장하는지 세기 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.제한사항1 ≤ myString ≤ 10001 ≤ pat ≤ 10입출력 예myString pat result"banana""ana"2"aaaa""aa"3풀이class Solution { public int solution(String myString, String pat) { int answer = 0; for(int i=0; i
[프로그래머스 Lv0.] 181860번 빈 배열에 추가, 삭제하기 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]를 arr[i] × 2 번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ arr의 길이 = flag의 길이 ≤ 100arr의 모든 원소는 1 이상 9 이하의 정수입니다.현재 X의 길이보다 더 많은 원소를 빼는 입력은 주어지지 않습니다.입출력 예arr flag result[3, 2, 4, 1, 3][true, false, true, false, false][3, 3, ..
[프로그래머스 Lv0.] 181857번 배열의 길이를 2의 거듭제곱으로 만들기 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ arr의 길이 ≤ 1,0001 ≤ arr의 원소 ≤ 1,000입출력 예arr result[1, 2, 3, 4, 5, 6][1, 2, 3, 4, 5, 6, 0, 0][58, 172, 746, 89][58, 172, 746, 89]풀이import java.util.*;class Solution { public int[] solution(int[] arr) { int len = arr.length; int pow = (int)..
[프로그래머스 Lv0.] 181838번 날짜 비교하기 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다.만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요.제한사항date1의 길이 = date2의 길이 = 30 ≤ year ≤ 10,0001 ≤ month ≤ 12day는 month에 따라 가능한 날짜로 주어집니다.입출력 예date1  date2result[2021, 12, 28][2021, 12, 29]1[1024, 10, 24][1024, 10, 24]0풀이import java.time.*;class Solution ..