본문 바로가기

코딩 테스트/[JAVA] programmers 코딩 테스트 연습64

[Programmers/JAVA] JadenCase 문자열 만들기 / 프로그래머스 코딩 테스트 연습 JadenCase 문자열 만들기 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 예시 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" Flow 1.split() 메소드 이용하여 공백을 기준으로 문자열 자르기 2. 자른 단어 수(sp.length)만큼 for문 반복 3-1. (단어가 들어간) 배열 요소가 공백일 경우 answer에 공백 붙이기 3-2. 단어 첫글자는 대문자로 변환, 대문자를 제외한 문자들은 소문자.. 2021. 12. 21.
[Programmers/JAVA] N개의 최소공배수 / 프로그래머스 코딩 테스트 연습 N개의 최소공배수 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 예시 arr result [2,6,8,14] 168 [1,2,3] 6 코드 해석 및 전체 코드 1. [0]과 [1]의 최소 공배수 L 구하기 2. L과 [2 + n]의 최소 공배수 구하기 예시 1의 배열은 2, 6, 8, 14로 총 4가지의 숫자로 구성되어 있다. 먼저 배열.. 2021. 12. 20.
[Programmers/JAVA] 상호 평가 / 프로그래머스 코딩 테스트 연습 / 위클리 챌린지 2주차 상호 평가 문제 설명 예시 scores result [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[50,90],[50,87]] "DA" [[70,49,90],[68,50,38],[73,31,100]] "CFD" 코드 해석 및 전체 코드 1. 평균을 담을 배열 선언 2. 평균을 구하기 위해 이중 for문 사용 3. 등급을 구하기 위해 for문 사용 1. 평균을 담을 배열 선언 scores의 길이만큼 1차원 배열을 선언한다. 처음에는 total 값만을 저장하기 위해 배열을 선언하여 변수명을 total로 지정하였지만, total값을 구한 뒤 평균 값을 다시 배열에 저장한다. 2. .. 2021. 8. 9.
[Programmers/JAVA] 부족한 금액 계산하기 / 프로그래머스 코딩 테스트 연습 / 위클리 챌린지 1주차 부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 예시 price money count result 3 20 4 10 이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 총 필요한 놀이기구의 이용 금액은 30 (= 3+6+9.. 2021. 8. 9.
[Programmers/JAVA] 비밀지도 / 프로그래머스 코딩 테스트 연습 비밀지도 문제 설명 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도.. 2021. 7. 19.
[Programmers/JAVA] 체육복 / 프로그래머스 코딩 테스트 연습 체육복 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution.. 2021. 7. 18.
[Programmers/JAVA] 예산 / 프로그래머스 코딩 테스트 연습 예산 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 예시 d budget re.. 2021. 7. 17.
[Programmers/JAVA] 문자열 내 p와 y의 개수 / 프로그래머스 코딩 테스트 연습 문자열 내 p와 y의 개수 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return 하고 "Pyy"라면 false를 return 합니다. 예시 s answer "pPoooyY" true "Pyy" false 코드 해석 및 전체 코드 1. p와 y의 개수를 저장할 변수 선언 2. s의 길이만큼 for문 반복 3. String 변수에 i번째 s의 문자를 저장 4. p or P인지 비교 5.. 2021. 7. 17.
[Programmers/JAVA] 나누어 떨어지는 숫자 배열 / 프로그래머스 코딩 테스트 연습 나누어 떨어지는 숫자 배열 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 예시 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 코드 해석 및 전체 코드 1. 배열 길이를 구하기 2. 나누어 떨어지는 값이 없으면 배열 값 -1 반환 3. 구한 배열 길이 만큼 배열 선언 4. 나누어 떨어지는 값 배열에 저장 5. 정렬 class Solution { public int[] solution(int[].. 2021. 7. 17.