본문 바로가기
300x250

개발 공부/알고리즘 개념+문제풀이46

[알고리즘] 내적_프로그래머스 1단계 문제설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 주의사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력예시 코드 function solution(a, b) { var answer = 0; for(let i =0 ; i< a.length ; i++){ let num = a[i] * b[i] answer += num } return answer; } 한줄 코드... let solution=(a,b).. 2021. 6. 20.
[알고리즘 문제풀이]올바른 괄호_프로그래머스 2단계 문제 문제설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 주의사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력예시 코드 function solution(str){ let answer = true; let stack = []; if(str[.. 2021. 6. 20.
[알고리즘 문제풀이] 10부제_기초문제 문제설명 뉴욕은 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다. 날짜의 일의 자리 숫자가 주어지고 7대의 자동차 번호가 주어졌을 때 위반하는 자동차의 대수를 출력하는 프로그램을 작성하세요. 주의사항 변수 day = 날짜의 일의 자리 숫자가 주어지고 변수 arr = 7대의 자동차 번호가 주어진다. 입출력예시 const output1 = solution(3, [4425, 4723, 8211, 8447, 6953, 1117,.. 2021. 6. 19.
[알고리즘 문제풀이] 삼각형 판별하기 문제설명 길이가 서로 다른 a,b,c 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있는지 확인한다. 가능하다면 true, 만들 수 없다면 false를 리턴한다. 주의사항 짧은 막대 2개의 합 === 긴 막대 1개 보다 커야 삼각형이 된다. 입출력예시 const result1 = solution( 44, 22, 65) ; console.log(result1); // true const result2 = solution( 10, 5, 2) ; console.log(result2); // false 코드 function solution( a , b , c ) { let answer= true let max; let sum = a+b+c; if( a > b ) max =a ; else max .. 2021. 6. 19.
[알고리즘 문제풀이] 키패드 누르기 문제설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다. 4-.. 2021. 6. 19.
[알고리즘 문제풀이]x만큼 간격이 있는 n개의 숫자_프로그래머스1단계 문제설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 주의사항 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력예시 코드 function solution(x, n) { let answer = []; for(let i =0; i 2021. 6. 18.
[알고리즘 문제풀이] 두 개 뽑아서 더하기 문제설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 주의사항 numbers의 길이는 2 이상 100 이하입니다 numbers의 모든 수는 0 이상 100 이하입니다. 입출력예시 코드 function solution(numbers) { var answer = []; for(let i =0; i < numbers.length ; i ++){ for(let j=i+1; j 2021. 6. 18.
[알고리즘 문제풀이]3개의 수를 더한 숫자를 소수 만들기 문제풀이 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력예시 코드 function solution(nums) { let answer = 0, number=0; for(let i=0;i 2021. 6. 16.
[알고리즘 문제풀이]로또의 최고 순위와 최저 순위 문제설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다. 순서와 상관없이, 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정됩니다. 알아볼 수 없는 두 개의 번호를 각각 10, 6이라고 가정하면 3등에 당첨될 수 있습니다. 3등을 만드는 다른 방법들도 존재합니다. 하지만, 2등 이상으로 만드는 것은 불가능합니다. 알아볼 수 없는 두.. 2021. 6. 15.
반응형