Question1. 몫 구하기
정수 "Num1", "Num2" 가 매개변수로 주어질 때. "Num1"을 "Num2" 로 나눈몫을 return 하도록 solution 함수를 완성해 주세요.
# javascript 답안
function solution(num1, num2) {
// Math floor - 내림 (몫만 구할 수 있다.)
//var answer = Math.floor(num1 / num2);
// 다른방법 (~~연산)
// -(n+1)
var answer2 = ~~(num1 / num2);
return answer2 || answer;
}
solution(10, 4); // 2 solution(7, 2); // 3 |
Question2. 나머지 구하기
정수 "Num1", "Num2" 가 매개변수로 주어질 때. "Num1"을 "Num2" 로 나눈 나머지를 return 하도록 solution 함수를 완성해 주세요.
# python 답안
def solution(num1, num2) {
answer = num1 % num2 # 나머지 구하기
mock = num1 / num2 # 나누기 (결과물 실수) mock = num1 // num2 # 몫만 (소수점 제외) return answer
}
|
Question3. 숫자 비교하기
정수 "Num1", "Num2" 가 매개변수로 주어질 때. 두수가 같으면 1 다르면 -1을 return 하도록 solution함수를
완성해주세요
# python 답안
def solution(num1, num2):
if num1 == num2: answer = 1 else: answer = -1 return answer def solution2(num1, num2): return 1 if num1 == num2 else -1 # if앞에 true 값 |
Question4. 각도기
각에서 0도초과 90도 미만은 예각, 90도는 직각, 90도초과 180미만은 둔각, 180도는 평각으로 분류합니다. 각 "angle" 이 매개변수로 주어질 때. 예각일때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return 하도록 solution함수를 완성 해 주세요.
# javascript 답안
function solution(angle) {
if (angle < 90) {
return 1;
} else if (angle == 90) {
return 2;
} else if (angle < 180) {
return 3;
} else {
return 4;
}
}
|
# python 답안
def solution(angle): if angle < 90: return 1 elif angle == 90: return 2 elif angle < 180: return 3 else: return 4 |
Question5. 양꼬치
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원 입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과, 음료수k개를 먹었다면 총 얼마를 지불해야 하는지 return 하도록 solution함수를 완성해보세요.
# javascript 답안
function solution(n, k) {
if (n >= 10) {
// ~~연산자는 몫만 출력 한다.
k -= ~~(n / 10);
}
return 12000 * n + 2000 * k;
}
|
# python 답안
def solution(n,k): if n >= 10: k -= n//10 # 소수점을 제외한 정수 (몫) return n*12000 + 2000*k |
Question6. 짝수의 합
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution함수를 완성해보세요.
# javascript 답안
function solution(n) {
// 빈 배열공간을 만들기 (공간 100)
//const eArr = Array(100);
// "0".repeat(100) -- 0이 100개 인 문자열
// "0".repeat(100).split("") -- 0이 100개인 배열
//let checkVal = "0".repeat(100).split("");
// fill은 배열에 특정 값 으로 배열 전체를 채우는 것
// fill 펑션에 인자를 넣지 않을 시.. undefined로 채워진다.
// javascript 에서 사용하지 않는 변수는 언더바(_) 사용..
return Array(n).fill().map((_, idx) => idx+1)
.filter(v => v % 2 === 0)
.reduce((accVal, curVal) => accVal+curVal, 0);
}
// reduce함수의 콜백(CallBack)함수 인자 값 * reduce( ( 누적 값, 현재 값, 인덱스, 원본배열 ) => ... , [초기 값] ); |
# python 답안
def solution(n): # range함수 ( [start], [stop], [step] ) return sum(range(0, n+1, 2)) |
Question7. 배열의 평균 값
정수배열 numbers 가 매개변수로 주어집니다. numbers 의 원소의 평균값을 return 하도록 solution함수를 완성해보세요.
# javascript 답안
function solution(numbers) {
return numbers.reduce((accVal, currVal) => accVal + currVal, 0) / numbers.length;
}
|
# python 답안
# import numpy as np # TODO: 넘 파이 (np)를 활용해서 합산 구해보기 np.sum([합산 대상배열]) ..구글링 필요 def solution(numbers): return sum(numbers)/len(numbers) |
Question8. 머쓱이보다 키 큰 사람
머쓱이는 학교에서 키 큰 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어졌을 때, 머쓱이보다 키 큰 사람수를 return 하도록 solution함수를 완성해보세요.
# javascript 답안
function solution(array, height) {
/********************* Method(1) Start... ****/ // let result = 0;
// for (i of array) {
// if (i > height) {
// result += 1;
// }
// }
// return result;
/********************* Method(1) End... ****/
/********************* Method(2) Start... ****/ return array.filter((v) => v > height).length;
/********************* Method(2) Start... ****/ }
|
# python 답안
def solution(array, height): # count = 0 # for i in array: # if i > height: # count += 1 # return count # array.append(height) # return sorted(array, reverse=True).index(height) return len(list(filter(lambda x: x > height, array))) |
Question9. 중복된 숫자 개수
정수가 담긴 정수 배열 array와 n이 매개변수로 주어졌을 때, array에 n이 몇 개 있는 지를 return 하도록 solution함수를 완성해보세요.
( 추가적으로 생각해야될 문제 "배열 요소가 아닌 배열에 포함된 특정 수 의 전체 갯 수
cf). 임의배열 [ 1, 2, 3, 11, 1, 5, 111, 6 ] 에서 1의 전체 수 ?)
# javascript 답안
function solution(array, n) {
return array.filter((v) => v === n).length;
}
console.log("1의 갯수: ", solution([1, 2, 1, 1, 3, 4, 1, 5, 2, 5], 1)); // 결과: 4
|
# python 답안
# 카운터 라이브러리를 활용한 방법 # from collections import Counter def solution(array, n): return array.count(n) # return Counter(array).get(n) # str함수를 사용할 시 배열을 스트림(문자열)로 변형한다. print ('solution Result: ', str(['1', '11', '111', '2', '3', '4']).count('1') ) ######################################## ##### 피자 계산 ########## # import math def solution(n): if n // 7 == n / 7 : return n // 7 else: return n // 7 + 1 # return math.ceil(n / 7) # ceil(올림) 처리.. |
Question10. 짝수 홀수 개수
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution함수를 완성해보세요.
# javascript 답안
function solution(num_list) {
var answer = [0, 0];
for (item of num_list) {
answer[item % 2] += 1
// [ Other Case ] // if (item % 2 == 0) {
// answer[0] += 1;
// }else {
// answer[1] += 1;
// }
}
return answer;
}
|
# python 답안
def solution(num_list): answer = [0,0] for i in num_list: answer[i % 2] += 1 # if i % 2 == 0: # answer[0] += 1 # else: # answer[1] += 1 return answer print ('solution Result: ', solution([1,2,3,4,5,6,8])) |
NEXT...
'Study' 카테고리의 다른 글
[ javascript && Python ] 알고리즘 챌린지 "Part3" (0) | 2023.02.13 |
---|---|
[ javascript && Python ] 알고리즘 챌린지 "Part2" (0) | 2023.01.29 |
[Study] 함수형 프로그래밍 정리. (0) | 2022.06.08 |
[Flutter] 플러터 Exercise(2) (0) | 2022.05.24 |
[Flutter] 플러터 Exercise(1) (0) | 2022.05.15 |