[Level 2] JadenCase 문자열 만들기 - 12951
·
CS/Algorithm
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/12951) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krJadenCase 문자열 만들기📝 문제 설명JadenCase란 모든 단어의 첫 문자는 대문자, 나머지 문자는 소문자로 쓰는 방식입니다.단, 첫 문자가 알파벳이 아닐 경우, 그 이후 나오는 알파벳은 소문자로 유지합니다.문자열 s가 주어질 때, 이를 JadenCase로 변환하여 반환하세요.📌 입력값문자열 s (길이 1 이상 200 이하)s는 알파벳, 숫자, 공백문자로 구성됨예시: "3people unFollowed me"✅ 출력값Jaden..
[level 2] 최솟값 만들기 - 12941
·
CS/Algorithm
문제 링크 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr최솟값 만들기 📝 문제 설명길이가 같은 배열 A, B 두 개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며,두 수를 곱한 값을 누적하여 더합니다.이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다.(단, 각 배열에서 같은 인덱스의 숫자는 한 번만 사용할 수 있습니다.)📌 입력값정수 배열 A (길이 n, 1 ≤ n ≤ 1,000, 각 원소는 자연수 ≤ 1,000)정수 배열 B (길이 n, 1 ≤ n ≤ 1,000, 각 원소는 자연수 ≤..
[level 2] 올바른 괄호 - 12909
·
CS/Algorithm
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/12909) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 올바른 괄호📝 문제 설명문자열 s가 괄호 '(', ')'로만 이루어져 있을 때, 괄호가 올바르게 짝지어졌는지 확인하는 문제입니다.올바른 괄호란열린 괄호 '('는 닫힌 괄호 ')'로 정확히 닫혀야 한다.괄호의 순서와 짝이 맞아야 한다.📌 입력값문자열 s (길이: 1 이상 100,000 이하)'(', ')' 문자로만 구성됨✅ 출력값올바른 괄호면 true그렇지 않으면 false📚 제한사항입력 문자열의 길이는 최대 100,000 → 효율적..
[level 2] 최댓값과 최솟값 - 12939
·
CS/Algorithm
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/12939) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 최댓값과 최솟값📝 문제 설명문자열 s에는 공백으로 구분된 정수들이 포함되어 있습니다.이 숫자들 중 최솟값과 최댓값을 찾아 "(최솟값) (최댓값)" 형태의 문자열로 반환하는 함수를 작성하세요.📌 입력값문자열 s (예: "1 2 3 4")✅ 출력값공백을 기준으로 구분된 "최솟값 최대값" 형태의 문자열📚 제한사항문자열 s에는 두 개 이상의 정수가 공백으로 구분되어 있습니다.모든 값은 정수형이며, 음수도 포함될 수 있습니다.🧠 문제 접근..
[level 1] 이상한 문자 만들기 - 12930
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/12930?language=java) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이상한 문자 만들기 📝 문제 설명문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백 문자로 구분되어 있으며,각 단어에서 짝수 번째 알파벳은 대문자, 홀수 번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수 solution을 완성하세요.📌 입력값문자열 s: 한 개 이상의 단어로 이루어진 문자열 (영어 소문자와 공백으로만 구성)✅ 출력값각 단어의 짝수번째 문자는 대문자, 홀수번째 문자는 소문자로 ..
[level 1] 3진법 뒤집기 - 68935
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/68935) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr3진법 뒤집기📝 문제 설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.📌 입력값n: 1 이상 100,000,000 이하의 자연수✅ 출력값n을 3진법으로 변환 → 뒤집기 → 다시 10진법으로 변환한 결과 값 (정수)📚 제한사항n은 1 이상 100,000,000 이하인 자연수입니다.🧠 문제 접근 방법 3진법으로 변환 하면서 뒤집..
[level 1] 예산 - 12982
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/12982) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr예산 📝 문제 설명S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000..
[level 1] 체육복 - 42862
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/42862) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 체육복 📝 문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수..
[level 1] 달리기 경주 - 178871
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/178871?language=java) 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🏃‍♀️ 달리기 경주 (Running Race)📝 문제 설명얀에서는 매년 달리기 경주가 열립니다.해설진들은 선수가 자기 앞 선수를 추월할 때 해당 선수의 이름을 부릅니다.즉, 호출된 선수는 바로 앞 등수의 선수를 한 칸 추월하게 됩니다.예시:현재 순위 → ["mumu", "soe", "poe"]해설진이 "soe"를 부르면 → "soe"가 "mumu"를 추월→ 결과 순위: ["soe", "mumu", "poe"..
조합(Combination, nCr)
·
CS/Algorithm
순서를 고려하지 않고 어떤 것들을 선택하는 경우의 수import java.math.BigInteger;public class Solution { public static BigInteger factorial(int n) { BigInteger result = BigInteger.ONE; for (int i = 2; i n) return BigInteger.ZERO; BigInteger numerator = factorial(n); BigInteger denominator = factorial(r).multiply(factorial(n - r)); return numerator.divide(denominator); } publ..