본문 바로가기

연습문제48

[programmers] 구슬을 나누는 경우의 수, 중복된 숫자 개수, 배열의 평균값, 진료 순서 정하기, 팩토리얼 📝 [Lv0] 구슬을 나누는 경우의 수 👀 문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. 🚨 제한 사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls 💻 입출력 예 balls share result 3 2 3 5 3 10 ✨ 풀이 설명 두 가지 풀이 방법이 있다. 첫 번째로는 문제에서 말한 대로 팩토리얼을 구해 계산하는 방법이고, 두 번째는 조합을.. 2023. 3. 26.
[programmers] 직각삼각형 출력하기, 숨어있는 숫자의 덧셈 (2), 삼각형의 완성조건 (2), 직사각형 넓이 구하기, 소인수분해 📝 [Lv0] 직각삼각형 출력하기 👀 문제 설명 "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 🚨 제한 사항 1 ≤ n ≤ 10 💻 입출력 예 입력 #1 3 출력 #1 * ** *** ✨ 풀이 설명 입력 형식이 다른 문제들과 다르다. 그냥 함수를 반환하는 이전과는 다르게, 입력만을 받아 출력을 하는 readline으로 하도록 되어있다. 백준 같은 경우는 이런 식으로 입력을 받도록 되어 있어, 이 방법도 알아두면 좋을 것 같다. 기본 형식은 다음과 같다. const readline = require('readline'); const rl = readline.cr.. 2023. 3. 25.
[programmers] 겹치는 선분의 길이, 캐릭터의 좌표, 문자열 정렬하기 (1), 평행, 나머지 구하기 📝 [Lv0] 겹치는 선분의 길이 👀 문제 설명 선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다. 선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다. 🚨 제한 사항 lines의 길이 = 3 lines의 원소의 길이 = 2 모든 선분은 길이가 1 이상입니다. lines의 원소는 [a, b] 형태이며, a, b는 각.. 2023. 3. 24.
[programmers] 다항식 더하기, 합성수 찾기, 머쓱이보다 키 큰 사람, 분수의 덧셈, 두 수의 나눗셈 📝 [Lv0] 다항식 더하기 👀 문제 설명 한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다. 🚨 제한 사항 0 2023. 3. 23.
[programmers] 옹알이 (1), 짝수는 싫어요, 배열 두배 만들기, 중앙값 구하기, 최빈값 구하기 📝 [Lv0] 옹알이 (1) 👀 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 🚨 제한 사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만.. 2023. 3. 22.
[programmers] 모스부호 (1), 문자열 뒤집기, 배열 뒤집기, 옷가게 할인 받기, 아이스 아메리카노 📝 [Lv0] 모스부호 (1) 👀 문제 설명 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다. morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':.. 2023. 3. 21.