본문 바로가기

프로그래머스44

프로그래머스 Lv.0 구슬을 나누는 경우의 수 프로그래머스 Lv.0 구슬을 나누는 경우의 수 모두 다르게 생긴 구슬을 친구들에게 나누어주려고 한다. 구슬의 개수 balls와 나누어 줄 구슬 개수 share이 주어진다. balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 reutrn하라. 구슬을 고르는 순서는 고려하지 않는다. balls share result 3 2 3 5 3 10 ** 풀이 방법 재귀 함수를 사용하려고 했으나 ㅈㅔ출할 때 자꾸 오류가 나서 방법을 바꿨다. 경우의 수 공식 * double형으로 d1, d2, d3 선언 d1 = 1 ~ balls까지 곱하기 d2 = 1 ~ res까지 곱하기 d3 = 1 ~ share까지 곱하기 공식에 적용 result→ d1 / (d2 * d3) 반올림한 result값을 int.. 2023. 7. 28.
프로그래머스 Lv.0 무작위로 k개의 수 뽑기 프로그래머스 Lv.0 무작위로 k개의 수 뽑기 랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 한다. 일정한 범위 내에서 무작위로 수를 뽑은 후, 지금까지 나온적이 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만든다. 정수 배열 arr가 주어지고, 무작위 수는 arr에 저장된 순서대로 주어질 예정이다. 완성된 배열을 return하라. 단, 완성될 배열의 길이가 k보다 작으면 나머지 값을 -1로 채워서 return한다. arr k result [0, 1, 1, 2, 2, 3] 3 [0, 1, 2] [0, 1, 1, 1, 1] 4 [0, 1, -1, -1] ** 풀이 방법 arr배열의 중복값을 없애서 ArrayList에 저장한다. List list = new ArrayList(); for (int i.. 2023. 7. 28.
프로그래머스 Lv.0 그림 확대 프로그래머스 Lv.0 그림 확대 직사각형 형태의 그림 파일이 있고, 1x1 크기의 정사각형 크기의 픽셀로 이루어져 있다. 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 주어진다. 이 그림 파일을 가로 세로로 k배 늘린 그림 파일 배열을 return하라. 모든 picture의 원소 길이는 같다. picture의 원소는 '.'과 'x'로 이루어져 있다. picture k result [".xx...xx.", "x..x.x..x", "x...x...x", ".x.....x.", "..x...x..", "...x.x...", "....x...."] 2 ["..xxxx......xxxx..", "..xxxx......xxxx..", "xx....xx..xx....xx", "xx....xx..xx..... 2023. 7. 28.
프로그래머스 Lv.0 수열과 구간 쿼리2 프로그래머스 Lv.0 수열과 구간 쿼리2 정수 배열 arr와 2차원 정수 배열 queries가 주어진다. queries의 원소는 각각 하나의 query를 나타내며 [s, e, k] 꼴이다. query마다 순서대로 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾는다. 각 쿼리 순서에 맞게 답을 저장한 배열을 return하라. 특정 쿼리의 답이 존재하지 않으면 -1을 저장한다. arr queries result [0, 1, 2, 4, 3] [[0, 4, 2], [0, 3, 2], [0, 2, 2]] [3, 4, -1] ** 풀이 방법 1. queries의 행에 접근하는 반복문과 하위에 queries[i][2]보다 큰 숫자들을 담기 위해 ArrayList를 생성한다. 2. 행이 넘어가기 전에 lis.. 2023. 7. 28.
반응형