Programmers 41

Programmers 문제 풀이 41

문제 설명 : 다항식 더하기 한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 하는 solution 함수??? 같은 식이라면 가장 짧은 수식을 return 합니다. 제한 사항 0 < polynomial에 있는 수 < 100 polynomial에 변수는 'x'만 존재합니다. polynomial은 양의 정수, 공백, 'x', '+'로 이루어져 있습니다. 항과 연산기호 사이에는 항상 공백이 존재합니다. 공백은 연속되지 않으며 시작이나 끝에는 공백이 없습니다. 하나의 항에서 변수가 숫자 앞에 오는 경우는 없습니다. " + 3x..

Programmers 2023.08.30

Programmers 문제 풀이 40

문제 설명 : 직사각형의 넓이 구하기 2차원 좌표 평면에 변이 축과 평해한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨 있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 하는 solution 함수??? 제한 사항 dots의 길이 = 4 dots의 원소의 길이 = 2 -256 < dots[i]의 원소 < 256 잘못된 입력은 주어지지 않습니다. 입출력 예 dots result [[1,1],[2,1],[2,2],[1,2]] 1 [[-1,-1],[1,1],[1,-1],[-1,1]] 4 문제 풀이 x, y 배열을 만든 후 for문을 돌면의 dots원소의 x는 x에 y는 y에 넣어줬다. 그 후에 x..

Programmers 2023.08.25

Programmers 문제 풀이 39

문제 설명 : 외계어 사전 PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩 만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 하는 solution 함수??? 제한 사항 spell과 dic의 원소는 알파벳 소문자로만 이루어져 있습니다. 2 ≤ spell의 크기 ≤ 10 spell의 원소의 길이는 1입니다. 1 ≤ dic의 크기 ≤ 10 1 ≤ dic의 원소의 길이 ≤ 10 spell의 원소를 모두 사용해 단어를 만들어야 합니다. spell의 원소를 모두 사용해 만들 수 있는 단어는 dic에 두 개 이상 존..

Programmers 2023.08.24

Programmers 문제 풀이 38

문제 설명 : 구슬을 나누는 경우의 수 머쓱이가 구슬을 친구들에게 나누어주려고 함. 구슬은 모두 다르게 생김. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬의 개수 share이 매개 변수로 주어질 때, balls 개의 구슬 중 share 개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution함수??? 제한 사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls 입출력 예 balls share result 3 2 3 5 3 10 문제 풀이 이것을 간략하게 예를 들어보자면 n = 5 m =2라고 할 때, n-m = 3 (5 * 4 * 3 * 2 * 1) / (3 * 2 * 1 * 2 * 1)..

Programmers 2023.08.22

Programmers 문제 풀이 37

문제 설명 : 컨트롤 제트 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 구한 값을 return 하도록 하는 함수??? 제한 사항 1 ≤ s의 길이 ≤ 200 -1,000 < s의 원소 중 숫자 < 1,000 s는 숫자, "Z", 공백으로 이루어져 있습니다. s에 있는 숫자와 "Z"는 서로 공백으로 구분됩니다. 연속된 공백은 주어지지 않습니다. 0을 제외하고는 0으로 시작하는 숫자는 없습니다. s는 "Z"로 시작하지 않습니다. s의 시작과 끝에는 공백이 없습니다. "Z"가 연속해서 나오는 경우는 없습니다. 입출력 예 s resul..

Programmers 2023.08.21

Programmers 문제 풀이 36

문제 설명 : 숨어있는 숫자의 덧셈(2) 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string 안의 자연수들의 합을 return 하는 solution 함수??? 제한 사항 1 ≤ my_string의 길이 ≤ 1,000 1 ≤ my_string 안의 자연수 ≤1000 연속된 수는 하나의 숫자로 간주합니다. 000123과 같이 0이 선행하는 경우는 없습니다. 문자열에 자연수가 없는 경우 0을 return 해주세요. 입출력 예 my_string result "aAb1B2cC34oOp" 37 "1a2b3c4d123Z" 133 문제 풀이 정규식을 이용해서 (아래 참조블로그에 자세히 나와있다.) 영문자를 구분자로해서 my_string문..

Programmers 2023.08.08

Programmers 문제 풀이 35

문제 설명 : 소인수분해 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때, n의 소인수를 오름차순으로 담은 배열을 return 하도록하는 solution 함수??? 제한 사항 2 ≤ n ≤ 10,000 입출력 예 n result 12 [2, 3] 17 [17] 420 [2, 3, 5, 7] 문제 풀이 i가 n보다 커지기 전까지 n을 i로 나눴을때 나머지가 0이면 answer에 다 담아주고 어차피 차례로 담기는 거라서 오름차순으로 정렬을 안 해줘도 되지만 그래도 확실하게 하기 위해 마지막에 answer을 오름차순으로 정렬해주고, Set으로 중복을 ..

Programmers 2023.08.06

Programmers 문제 풀이 34

문제 설명 : 모스부호(1) 제한 사항 1 ≤ letter의 길이 ≤ 1,000 return값은 소문자입니다. letter의 모스부호는 공백으로 나누어져 있습니다. letter에 공백은 연속으로 두 개 이상 존재하지 않습니다. 해독할 수 없는 편지는 주어지지 않습니다. 편지의 시작과 끝에는 공백이 없습니다. 입출력 예 letter result ".... . .-.. .-.. ---" "hello" ".--. -.-- - .... --- -." "python" 문제 풀이 letter 모스부호는 공백으로 나누어져 있으니까 split(' ') 공백 구분자로 문자열을 나눠주고 나눠준 문자열을 map으로 돌면서 morse의 키값에 넣어줘서 값을 받아온 뒤에 배열을 join으로 합쳐줬다. function solut..

Programmers 2023.08.02
728x90