본문 바로가기

자바 Java/프로그래머스

(10)
[프로그래머스] 소수 만들기 프로그래머스 '소수 만들기' 풀이 문제 ) 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 나의 풀이 ) 아래 더보기란에 추가 설명 더보기 1. 중첩 for문을 이용해 더하기 위한 세 개의 숫자를 nums에서 뽑았습니다. 숫자는 중복될 수 없으므로, j는 앞에 i에서 고른 숫자 다음에서 골라주고 마찬가지로 k도 j..
[프로그래머스] 체육복 프로그래머스 '체육복' 풀이 문제 ) 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성해주세요. 전체 학생의 수는 2명 이상 30명 이하입니다. 체육복을 도난당한 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다. 여벌의 체육복을 가져온 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다. 여벌 체육복이 있는 학생만 다른 학생에게 체육복을 빌려줄 수 있습니다. 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다. 이때 이 학생은 체육복을 하나만 도난당했다고 가정하며, 남..
[프로그래머스] 신규 아이디 추천 프로그래머스 '신규 아이디 추천' 풀이 문제 ) 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 나의 풀이 ) 각 사진 아래 더보기란에 추가 설명 더보기 1. toLowerCase() 함수를 이용해 입력받은 new_id의 모든 대문자를 소문자로 치환합니다. 더보기 2. charAt()함수로 꺼낸 new_id의 해당 인덱스 문자 값을 for문과 if문으로 판단해줍니다. new_id의알파벳 소문자와 숫자 그리고 사..
[프로그래머스] 문자열 내림차순으로 배치하기 프로그래머스 '문자열 내림차순으로 배치하기' 문제 ) 문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. str은 길이 1 이상인 문자열입니다. 나의 풀이 ) 아래 더보기란에 추가 설명 더보기 1. 매개변수로 들어온 문자열 s를 toCharArray 함수를 이용해, char형 arr 배열에 문자 하나씩 넣어줍니다. 2. Arrays.sort 함수를 이용해 arr 배열을 정렬해줍니다. 3. 새로운 char형 배열 arr2를 만들어 arr 배열의 원소들을 거꾸로 넣어줍니다. 4. 배열 arr2를 문자열로 바꾸어 리턴해줍니다. 수정할 부분이 발견되거나 궁..
[프로그래머스] 자연수 뒤집어 배열로 만들기 프로그래머스 '자연수 뒤집어 배열로 만들기' 풀이 문제 ) 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. n은 10,000,000,000이하인 자연수입니다. 나의 풀이 ) 아래 더보기란에 추가 설명 더보기 1. 입력받은 정수 n의 각 자리의 숫자만을 뽑아내기 위해 우선 n을 String으로 형 변환해줍니다. 2. 그 후 String 배열인 numbers를 만들어 형 변환 한 n을 한 글자씩 쪼개어 넣어줍니다. 3. numbers 배열과 똑같은 크기의 int형 배열을 만들어 numbers의 마지막 인덱스 값부터 정수화하여 새로 만든 int형 배열의 첫 인덱스에 넣어줍니다. 그리고 이것을 반복합니다. 즉, for문을 이용하여 numbers의 마지막 인덱스부터 값을 출력하여 정수..
[프로그래머스] 내적 프로그래머스 '내적' 풀이 문제 ) 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 나의 풀이 ) 수정할 부분이 발견되거나 궁금한 점이 있으면 댓글 남겨주세요. 성장을 위한 댓글은 환영입니다 :)
[프로그래머스] 문자열을 정수로 바꾸기 프로그래머스 '문자열을 정수로 바꾸기' 풀이 문제 ) 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. s의 길이는 1 이상 5 이하입니다. s의 맨 앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져 있습니다. s는 "0"으로 시작하지 않습니다. 나의 풀이 ) 아래 더보기란에 추가 설명 더보기 1. 부호를 파악하기 위해 먼저 입력받은 문자열을 한 글자씩 쪼개어 문자열 배열에 넣어줍니다. 2. 이 문자열 배열의 첫 번째 인덱스에 해당하는 값이 "-"이라면 음수인 것으로 파악하고, 아니라면 양수인 것으로 파악합니다. 3. if문을 이용하여 만약 첫 글자가 "-"이라면 새로 정의한 문자열 wd에 "-"를 먼저 넣어주고, 문자열의 배열의 나머지 문자들을 차례..
[프로그래머스] 예산 프로그래머스 '예산' 풀이 문제 ) S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. d는 부서별로 신청한 금액이 들어있는 배열이며, 길이(전체 부서의 개수)는 1 이상 100 이하입니다. d의 각 원소는 부서별로 신청한 금액을 나타내며, 부서별 신청 금액은 1 이상 100,000 이하의 자연수입니다. ..