본문 바로가기
300x250

알고리즘18

[알고리즘 문제풀이] 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.
[알고리즘 문제풀이] 완주하지 못한 선수 with javascript 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예시 코드 작성 1. 정렬 후 같은 인덱스 위치에 없으면 리턴 function .. 2021. 6. 14.
알고리즘_아이소그램 문제풀이 문자열을 입력받아 아이소그램인지 여부를 리턴해야 한다. 아이소그램은 각 알파벳을 한 번씩만 이용해서 만든 단어나 문구를 말한다. isogram 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function isIsogram(str) { let newStr = str.toLowerCase(); let result = true; if(str.length === 0){ return result; } for(let i = 0; i 2021. 5. 9.
반응형