Algorithm

· Algorithm
문제 설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수(0 prev + curr, ''); console.log(answer); return answer; } solution('100', '123450'); 문제 풀이 같은 경우에는 조회 메서드를 사용했기 때문에 이미 체크하고 지나간 원소에 있어서도 계속 재차 건드리게 되어 공통요소 배열인 commonElement배열이 늘어나 splice를 이용해 이미 체크한 원소에 대해서는 삭제를 해주었다. 위에서 생각했던 대로 풀어봤는데 몇개 정도는 틀리고 5문제 정도는 시간 초과가 떴다. 아마 배열 조회, 수정 메서드를 많이 써서 그런 것 같았다. 따라서 배열을 건드리는 것보다 시간복잡도 측면에서 효율적인 Set을 써보기로 했다. 풀이2 (Set 사용..
· Algorithm
문제 설명 제한조건 - lottos는 길이 6인 정수 배열입니다. - lottos의 모든 원소는 0이상 45이하인 정수입니다. - 0은 알아볼 수 없는 숫자를 의미합니다. - 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다. - lottos의 원소들은 정렬되어 있지 않을 수도 있습니다. - win_nums은 길이 6인 정수 배열입니다. - win_nums의 모든 원소는 1이상 45이하인 정수입니다. - win_nums에는 같은 숫자가 2개 이상 담겨있지 않습니다. - win_nums의 원소들은 정렬되어 있지 않을 수도 있습니다. 입출력 예 lottos win_nums result [44, 1, 0, 0, 31, 25] [31, 10, 45, 1, 6, 19] [3, 5] [0, 0,..
· Algorithm
문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력바아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한조건 x는 1이상, 10,000 이하인 정수입니다. 입출력 예 x return 10 true 12 true 11 true 13 false 입출력 예 #1 : 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 : 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나우어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 : 11의 모든 자릿수의 합은 2입니다...
· Algorithm
문제 설명 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string 이 매개변수로 주어질 때 모음을 제거한 문자열을 return 하도록 solution 함수를 완성해주세요. 제한 사항 my_string 은 소문자와 공백으로 이루어져 있습니다. 1
· Algorithm
문제 설명 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 1
· Algorithm
문제 설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0result += el) } else if(commonElementArr.length && commonElementArr.every((el)=>el==="0")){ result = "0" } else { result = "-1"; } console.log(result) return result; }; 첫 구상한 것에 살짝 덧붙여서, 문제의 요건에 맞게 배열의 요소가 모두 0인 경우 0을 리턴하게 해주었고 배열의 요소가 한 개도 없을 경우 -1을 리턴하게 만들어 주었다. 정답을 확인해보니 (9개/17개)를 맞추며 정답률 50퍼센트가 간신히 넘었다. Second Code 다시 한 번 생각해보니 내가 위에 짠 코드는 X배열의 길이가 Y..
· Algorithm
문제 설명 어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리, 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다. 넓은 벽 전체에 페인트를 새로 칠하는 대신, 구역을 나누어 일부만 페인트를 새로 칠 함으로써 예산을 아끼려 합니다. 이를 위해 벽을 1미터 길이의 구역 n개로 나누고, 각 구역에 왼쪽부터 순서대로 1번부터 n번까지 번호를 붙였습니다. 그리고 페인트를 칠해야 할 구역들을 정했습니다. 벽에 페인트를 칠하는 롤러의 길이는 m미터이고, 롤러로 벽에 페인트를 한 번 칠하는 규칙은 다음과 같습니다. 롤러가 벽에서 벗어..
· Algorithm
문제 설명 숫자나라 기사단의 각 기사에게는 1번부터 number 까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1,3,5,15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력이 2인 무기를..
· Algorithm
문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한조건 n은 2이상 1,000,000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 입출력 예 #1 : 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 : 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3을 반환 나의 풀이 이번 소수 찾기 문제는 어제 풀었던 소수 만들기(프로그래머스)에 만들어 둔 소수 찾는 함수를 이용하여 문제를 풀어봤다. 임의의 수 n이 주어지면 그 n까지의 숫자를 새로운 배열에 담아주었고 새로운 배열을 forEach로 반..
윤찬님
'Algorithm' 카테고리의 글 목록