코딩 테스트/프로그래머스 코딩 테스트 연습

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 문제 풀이 방법 이 문제는 number로 주어진 n을 문자열로 바꾼뒤 배열에 배치하여 reduce를 이용해 풀었다. 내가 작성한 코드 const solution = (n) => { const arr = `${n}`.split(''); for(let i=0; i p + c, 0); } 다른 사람이 작성한 코드 function solution(n){ return (n+"").split("").reduce((acc, curr) => acc + pars..
문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 문제 풀이 방법 이 문제를 처음 봤을 때는 단순하게 isNaN()을 통해 풀려 했지만 에러가 났다. 문제점은 지수라는 존재를 간과하고 있었다. 지수를 고려해서 풀때는 문자열에 e 가 포함되어있다면 false를 반환해주는 조건을 만들면 되었다. 내가 작성한 코드 const solution = (s) => { if((s.length === 4 || s.length..
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 문제 풀이 방법 이 문제는 주어진 문자열 s를 정렬하는 것으로 대문자는 소문자보다 작은 것으로 간주한다. 기본적으로는 대문자가 더 앞으로 정렬되며, abc... 순으로 정렬되므로 순서를 한번 뒤집어준다. 그리고 나온 배열을 문자열로 합쳐주면 된다. 내가 작성한 코드 const solution = (s) => { return s.split('').sort().reverse().join(''); }
문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 사항 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 문제 풀이 방법 이 문제를 풀면서 내가 얼마나 학창시절에 공부를 안했는지 느꼈다. 그저 if문과 for문을 이용해 딱딱하게 코드를 짜려했다.... 조금 멀리서 바라보면 이 문제의 핵심은 a와 b 사이에 속한 모드 정수의 합이라는 것이다. 이 말의 다른 의미는 등차 수열의 합이라 봐도 된다..... 헣....
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 사항 num은 int 범위의 정수입니다. 0은 짝수입니다. 문제 풀이 방법 제한 조건에서 0도 짝수라는 조건이 있기 때문에 OR문을 이용해 num이 0일 때와 2로 나누었을 때 나머지가 0인 경우는 "Even"을 반환한다. 나머지 조건에서는 홀수의 경우만 남기 때문에 "Odd"를 반환한다. 내가 작성한 코드 const solution = (num) => { if(num === 0 || num % 2 === 0){ return "Even"; } else{ return "Odd"; } }
문제 설명 N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다. 예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, 스티커를 뜯어내어 얻을 수 있는 숫자의 합의 최댓값을 return 하는 solution 함수를 완성해 주세요. 원형의 스티커 모양을 위해 배열의 첫 번째 원소와 마지막 원소가 서로 연결되어 있다고 간주합니다. 제한 사항 sticker는 원형으로 ..
58청춘
'코딩 테스트/프로그래머스 코딩 테스트 연습' 카테고리의 글 목록 (28 Page)