공부/코딩테스트 54

Q. 두 정수 사이의 합

두 정수 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의 대소관계는 정해져있지 않습니다. ❗입출력 예 a b return 3 5 12 3 3 3 5 3 12 😀 내가 푼 답 function solution(a, b) { let num = 0; for (let i = Math.min(a, b); i b){ answer = gaussSum(a) - gaussSum(b-1) }else if(a < b){ ..

Q. 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 🚫제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. ❗입출력 예 s return "abcde" "c" "qwer" "we" 😀 내가 푼 답 function solution(s) { return s.length % 2 !== 0 ? s[Math.floor(s.length / 2)] : s[s.length / 2 - 1] + s[s.length / 2]; } 😊 문제풀이 답안 OR 다른사람들 답안 // ceil() function solution(s) { return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0..

Q. 짝수와 홀수

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 🚫제한 사항 num은 int 범위의 정수입니다. 0은 짝수입니다. ❗입출력 예 num return 3 "Odd" 4 "Even" 😀 내가 푼 답 function solution(num) { return num % 2 === 0 ? "Even" : "Odd"; } 😊 문제풀이 답안 OR 다른사람들 답안 function evenOrOdd(num) { var result = '' if(num%2 === 0){ result = 'Even'; }else{ result = 'Odd'; } return result }

Q. 직사각형 별찍기

이 문제에는 표준 입력으로 두개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요 🚫제한 사항 n과 m은 각각 1000 이하인 자연수 입니다. ❗입출력 예 입력 - 5 3 출력 ***** ***** ***** 😀 내가 푼 답 process.stdin.setEncoding("utf8"); process.stdin.on("data", (data) => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); const star = "*".repeat(a); for (let i = 0; i < b; i++) { console.log(star); } }); 😊 문제풀이 답..

코딩테스트 10

Q. 자릿수 더하기 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요 🚫제한 사항 0 ≤ n ≤ 1,000,000 ❗입출력 예 n result 1234 10 930211 16 😀 내가 푼 답 function solution(n) { return n .toString() .split("") .map((idx) => parseInt(idx)) .reduce((acc, cur) => acc + cur); } parseInt() 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환함 parseInt() 함수를 사용하는 주요 목적은 문자열에서 숫자를 추출하기 위함 => 입력받은 문자열을 숫자값으로 바꾸어 변환함 문자열의..

코딩테스트 9

Q. 머쓱이보다 키 큰 사람 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 🚫제한 사항 1 ≤ array의 길이 ≤ 100 1 ≤ height ≤ 200 1 ≤ array의 원소 ≤ 200 ❗입출력 예 array height result [149, 180. 192, 170] 167 3 [180, 120, 140] 190 0 😀 내가 푼 답 function solution(array, height) { return array.filter(x => x > height).length } ..

코딩테스트 8

Q. 중복된 숫자 개수 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. 🚫제한 사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 1,000 0 ≤ n ≤ 1,000 ❗입출력 예 array n result [1, 1, 2, 3, 4, 5] 1 2 [0, 2, 3, 4] 1 0 😀 내가 푼 답 function solution(array, n) { return array.filter(num => num === n).length } filter() filter()는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열을 리턴해줌 주로 특정 조건을 만족하는 새로운 배열이 필요할..

코딩테스트 7

Q. 양꼬치 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 🚫제한 사항 1 ≤ my_string의 길이 ≤ 1,000 ❗입출력 예 my_string result "jaron" "noraji" "bread "daerb" 😀 내가 푼 답 function solution(my_string) { return my_string.split("").reverse().join(""); } split() 문자열을 일정한 구분자로 잘라서 배열로 저장 str.split(separator, limit) separator로 잘라서, limit 크기 이하의 배열에 잘라진 문자열을 저장하여 리턴함 separator : 필수로 작성..

코딩테스트 6

Q. 양꼬치 머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요. 🚫제한 사항 0 ≤ n ≤ 10,000 n / 10 ≤ k ≤ 10,000 서비스로 받은 음료수는 모두 마십니다. ❗입출력 예 n k result 10 3 124,000 64 6 768,000 😀 내가 푼 답 function solution(n, k) { return 12000 * n + 2000 * k - 2000 * Math.floor(n/10) } 😊 문제풀이 답안 OR 다른사람들 답안 fun..

코딩테스트 5

Q. 나이 출력 머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요. 🚫제한 사항 0 ≤ age ≤ 120 나이는 태어난 연도에 1살이며 1년마다 1씩 증가합니다. ❗입출력 예 age result 40 1983 23 2000 😀 내가 푼 답 function solution(age) { const years = 2022; return years - age +1 } 😊 문제풀이 답안 OR 다른사람들 답안 function solution(age) { return new Date().getFullYear() - age + 1; } Date 객체 날짜를 지정할 수 있고, 날짜와 관련된 메서드..