'항해 중/2주차 알고리즘(프로그래머스)' 카테고리의 글 목록 (4 Page)
본문 바로가기

항해 중/2주차 알고리즘(프로그래머스)44

2일차 → x만큼 간격이 있는 n개의 숫자(Array 생성자 함수, fill(), map()) 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가는 숫자를 n개 지니는 리스트를 리턴합니다. 제한사항 - x는 -10000000 이상, 10000000 이하인 정수입니다. - n은 1000 이하인 자연수입니다. 내가 푼 문제 풀이 function solution(x, n) { var answer = []; for(let i=1; i{return item * (index+1)}) } 1) Array() 생성자를 사용하여 길이가 n개인 배열을 만든다. 2) fill() 메소드를 사용해서 배열에 요소들을 x로 채운다. 3) 배열함수인 map()을 사용해서 item과 index 값을 받아온다. 4) return 값으로는 처음에는 item * index를 했었는데 in.. 2021. 11. 9.
2일차 → 나누어 떨어지는 숫자 배열(filter(), sort()) 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수 divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 - arr는 자연수를 담은 배열입니다. - 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. - divisor는 자연수입니다. - array는 길이 1 이상인 배열입니다 내가 푼 문제 풀이 function solution(arr, divisor) { let answer = []; answer = arr.filter((item)=>{ return item % divisor == 0 }) // 배열함수 filter()를 사용해서 // 조건이 참인 item을 r.. 2021. 11. 9.
2일차 → 행렬의 덧셈(배열-push()) 문제설명 행렬의 덧셈은 행과 열의 크기가 같은 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1, arr2를 입력 받아, 행렬 덧셈의 결과를 반환하는 함수 제한사항 - 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 다른 사람이 푼 문제 풀이 function solution(arr1, arr2) { let answer = []; // 밖에 있는 배열 for(let i=0; i 2021. 11. 9.
2일차 → 핸드폰 번호 가리기(replace(), 정규식 표현) 문제설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수 제한사항 - s는 길이 4 이상, 20 이하인 문자열입니다. 내가 푼 문제 풀이 function solution(phone_number) { let answer = '' for(let i=0; i=phone_number.length-4){ // 뒷 4자리 // 뒷 4자리 범위에 들어오묜 answer += phone_number[i] // 번호를 answer에 넣는다. }else{ // 뒷 4자리를 제외한 앞자리 answer += "*" // 범위에 들어가지 .. 2021. 11. 9.
2일차 → 문자열 내 p와 y의 개수(toLowerCase(), 삼항연산자, toUpperCase(), split()) 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 true, 다르면 false를 return 한다. 'p'와 'y' 모두 하나도 없는 경우는 항상 true를 리턴합니다. 단, 개수를 비교할 때는 대문자와 소문자를 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한조건 - 문자열 s의 길이 : 50 이하의 자연수 - 문자열 s는 알파벳으로만 이루어져 있다. 내가 푼 문제 풀이 function solution(s){ let pCount = 0 // p의 개수를 세는 변수 let yCount = 0 // y의 개수를 세는 변수 for(let i = 0; i 2021. 11. 9.
2일차 → 부족한 금액 계산하기(삼항연산자, 가우스의 재림) 문제설명 새로 생긴 놀이기구는 인기가 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원인데, 놀이기구는 N번째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100원이었다면 2번째에는 200원, 3번째에는 300원으로 요금이 인상합니다. 놀이기구는 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는 지 return 하도록 하세요. 단, 금액이 부족하지 않다면 0을 return 하세요. 제한조건 - 놀이기구의 이용료 price -> 1 2021. 11. 9.
배열함수 연습 문제 let names = [ "Steven Paul Jobs", "Bill Gates", "Mark Elliot Zuckerberg", "Elon Musk", "Jeff Bezos", "Warren Edward Buffett", "Larry Page", "Larry Ellison", "Tim Cook", "Lloyd Blankfein", ]; -> 공통적으로 사용되는 배열 1. map 문제 - 모든 이름을 대문자로 바꾸어서 출력 하세요 (예-[“Steven”,“Bill”,“Mark”,“Elon”…]) names.map((item)=>{ return console.log(item.toUpperCase()) // .toUpperCase() : 소문자 -> 대문자로 변환 // .toLowerCase() : 대문자.. 2021. 11. 8.
배열함수(forEach, map, filter, some, every, find, findIndex) 배열 함수 리스트 - forEach : 반환값이 없다, 단순 for문과 같이 작동한다. - map : 반환값을 배열에 담아 반환한다. - filter: 조건에 충족하는(true) 아이템만 배열에 담아 반환한다. - some: 조건에 충족하는 아이템이 하나라도 있으면 true 반환, 아니면 flase. - every: 모든 배열에 아이템이 조건을 충족하면 true 반환, 아니면 false. - find : 조건에 충족하는 아이템 하나만 반환(여러개라면 첫번째것만 반환) - findIndex : 조건에 충족하는 아이템의 인덱스값 반환 (여러개라면 첫번째 아이템의 인덱스번호만 반환) 모든 배열 함수가 함수를 매개변수로 받는다. let names = [ "Steven Paul Jobs", "Bill Gates".. 2021. 11. 8.
1일차 → 음양 더하기(삼항연산자, *-1) 문제 설명 어떤 정수들이 있습니다. 이 정수들의 절대값을 차례대로 담은 정수 배열 absoultes와 이 정수들의 부호를 차례대로 담은 boolean 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하는 함수 제한사항 - absolutes의 길이는 1 이상 1,000 이하입니다. - absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. - signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 내가 푼 문제 풀이 1. for문과 if문을 사용하여서 signs[i]가 true이면 양수이기 때문에 Math.abs를 사용하여 sum에 더해주고 signs[i]가 false이면 음수이기 때문에 absolutes.. 2021. 11. 8.
728x90