본문 바로가기

Programming/Algorithm84

[프로그래머스] Lv.1 크기가 작은 부분 문자열 - JAVA 1️⃣ 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 2️⃣ 제한 사항 1 ≤ p의 길이 ≤ 18 p의 길이 ≤ t의 길이 ≤ 10,000 t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 3️⃣ 입출력 예 t p result "3141592" "271" 2 "50022.. 2023. 9. 12.
[프로그래머스] Lv.1 예산 - JAVA 1️⃣ 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 2️⃣ 제한 사항 d는 .. 2023. 9. 12.
[프로그래머스] Lv.1 3진법 뒤집기 - JAVA 1️⃣ 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 2️⃣ 제한 사항 n은 1 이상 100,000,000 이하인 자연수입니다 3️⃣ 입출력 예 n result 45 7 125 229 4️⃣ 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n(10진법) n(3진법) 앞뒤 반전(3진법) 10진법 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n(10진법) n(3진법) 앞뒤 반전(3진법) 10진법 125 11122 22111 229 따라서 229를 return 해야 합니다. 🌱 문.. 2023. 9. 5.
[프로그래머스] Lv.1 같은 숫자는 싫어 - JAVA (ArrayList, LinkedList ) 1️⃣ 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 2️⃣ 제한 사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 :.. 2023. 9. 5.
[프로그래머스] Lv.1 최대공약수와 최소공배수 - JAVA 1️⃣ 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 2️⃣ 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 3️⃣ 입출력 예 n m return 3 12 [3,12] 2 5 [1,10] 4️⃣ 입출력 예 설명 입출력 예 #1위의 설명과 같습니다. 입출력 예 #2자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 🌱 문제풀이 class Solution { public int[] so.. 2023. 9. 4.
[프로그래머스] Lv.1 문자열 다루기 기본 - JAVA 1️⃣ 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 2️⃣ 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 3️⃣ 입출력 예 s return "a234" false "1234" true 🌱 문제풀이 class Solution { public boolean solution(String s) { if ( s.length() == 4 || s.length() == 6 ) { for(int i = 0; i < s.length(); i++){ if( s.ch.. 2023. 9. 3.