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

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

3일차 → 수박수박수박수박수박수?(repeat()) 문제설명 길이가 n이고, "수박수박수박수..."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, 예를 들어 n이 4이면 "수박수박"을 리턴하고 3이면 "수박수"를 리턴한다. 제한사항 - n은 길이 10,000 이하인 자연수입니다. 내가 푼 문제 풀이 function solution(n) { let answer = ''; for(let i = 0; i 2021. 11. 10.
3일차 → 이상한 문자 만들기(split(), map(), forEach(), splice(), toUpperCase(), toLowerCase(), join()) 문제설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 - 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백 기준)별로 짝/홀수 인덱스를 판단해야 합니다. - 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리합니다. 입출력 예 내가 푼 문제 풀이 function solution(s) { let answer = ''; // 1. 단어별로 나눈다. let arr = s.split(" ") // [ 'try', 'hello', 'world' ] let result = arr.map((item, i)=>.. 2021. 11. 10.
3일차 → 자릿수 더하기(toString(), split(), parseInt(), forEach(), reduce()) 문제설명 자연서 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 함수 예를 들어 N = 123이면 1+2+3 = 6을 return 하면 됩니다. 제한사항 - N의 범위 : 100,000,000 이하의 자연수 내가 푼 문제 풀이 function solution(n){ var answer = 0; let num = n+'' for(let i = 0; i 문자열로 변환한 후 for문을 돌려서 num의 index 값을 parseInt()를 사용하여 숫자 타입으로 바꾼 후 answer에 더한다. function solution(n){ var answer = 0; let num = (n+'').split('') num.forEach(item=>{answer+=parseInt(item)}) retur.. 2021. 11. 10.
3일차 → 문자열 다루기 기본(parseInt()) 문제설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성 되어 있는 지 확인 해주는 함수 예를 들어 s가 a234이면 false를 리턴하고 1234이면 true를 리턴한다. 제한사항 - s는 길이 1 이상, 길이 8 이하인 문자열이다. 내가 푼 문제 풀이 function solution(s) { let answer = true for(let i=0; i 2021. 11. 10.
3일차 → 자연수 뒤집어 배열로 만들기(toString(), split(), reverse(), map()) 문제설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하세요 예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다. 제한사항 - n은 10,000,000,000 이하인 자연수입니다. 내가 푼 문제 풀이 function solution(n) { return (n+'').split('').reverse().map((item)=>{return parseInt(item)}) } 1) (n+'') : 숫자를 문자열 타입으로 변환한다. (== n.toString) 2) split('') : 문자열로 바뀐 n을 한글자씩 잘라서 배열에 담는다. 3) reverse() : 배열을 뒤집는다. 4) 배열함수 중 map() 함수를 사용하면 return한 결과값이 배열에 담기기 때문에 f.. 2021. 11. 10.
3일차 → 정수 내림차순으로 배치하기(toString(), split(), sort(), reverse(), join(), parseInt()) 문제설명 함수 solution은 정수 n을 매개변수로 입력 받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴하세요. 예를 들어 n이 118372라면, 873211을 리턴하면 됩니다. 제한사항 - n은 1이상 8000000000 이하인 자연수입니다. 내가 푼 문제 풀이 function solution(n) { return parseInt(n.toString().split("").sort((a, b) => {return b-a}).join("")) } 1) n.toString() : 숫자를 문자열로 변환 해주는 함수 2) split("") : 문자열을 한글자씩 잘라서 배열에 담아주는 함수 3) sort((a,b)=>{return b-a}) : 내림차순 해주는 함수 4) join(.. 2021. 11. 10.
3일차 → 완주하지 못한 선수(sort(), find()) 문제설명 수많은 마라톤 선수들이 마라톤에 참여 하였습니다. 단 한명의 선수를 제외하고난 모든 선수가 마라톤에 완주하였습니다. 마라톤에 참가한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때 완주하지 못한 선수의 이름을 return 하세요. 제한조건 - 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. - completion의 길이는 participant의 길이보다 1 작습니다. - 참가자의 이름은 1개 이상 20개 이하의 알파벡 소문자로 이뤄져 있습니다. - 참가자 중 동명이인이 있을 수 있습니다. 내가 푼 문제 풀이 function solution(participant, completion) { let par =.. 2021. 11. 10.
2일차 → 2016년(Date 생성자 함수, toString()) 문제설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a, b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수 요일의 이름은 일요일부터 토요일까지 각각 SUM, MON, TUE, WED, THU, FRI, SAT입니다. 예를 들어 a = 5, b = 24라면 5월 24일은 화요일이므로 문자열 TUE를 반환합니다. 제한사항 - 2016년은 윤년입니다. - 2016년 a월 b일은 실제로 있는 날입니다. 다른 사람이 푼 문제 풀이 Date 생성자 함수 Date 생성자 함수의 인자로 특정 날짜를 넣으면 그 날짜에 대한 정보를 얻을 수 있다. + 자바스크립트의 월은 0부터 시작한다. + toString() : 객체의 문자열 표현을 반환하는 함수 -> let .. 2021. 11. 9.
2일차 → 내적(forEach(), reduce()) 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어진다. a와 b의 내적을 return 하는 함수를 완성하세요 (내적이란 적을 쌓는다는 뜻의 한자이고, 곱하다는 뜻을 가지고 있다.) 이때, 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) { let answer = 0 for(let i = 0; i{ answer += item * b[i] }) return answer; } 1) a, b 배열이 길이가 같고 반환 값이 .. 2021. 11. 9.
728x90