Categorize New Member
The Western Suburbs Croquet Club has two categories of membership, Senior and Open. They would like your help with an application form that will tell prospective members which category they will be placed.
To be a senior, a member must be at least 55 years old and have a handicap greater than 7. In this croquet club, handicaps range from -2 to +26; the better the player the lower the handicap.
Input
Input will consist of a list of pairs. Each pair contains information for a single potential member. Information consists of an integer for the person's age and an integer for the person's handicap.Output
Output will consist of a list of string values (in Haskell: Open or Senior) stating whether the respective member is to be placed in the senior or open category.Example :
input = [(18, 20), (45, 2), (61, 12), (37, 6), (21, 21), (78, 9)] output = ["Open", "Open", "Senior", "Open", "Open", "Senior"]
📌 Needs ) 시니어가 되려면 55세 이상이고 핸디캡이 7 초과여야 함, 크로켓 클럽의 핸디캡 범위는 -2에서 +26
📁 Sol ) 빈 배열 만들어 해당 조건 만족할 때 Senior, 만족하지 않을 때 Open을 push해줌
function openOrSenior(data){
let result = [];
for(let el of data) {
if(el[0] >= 55 && el[1] > 7) {
result.push("Senior");
}
else {
result.push("Open");
}
}
return result;
}
💡 Other ways to solve ) map 함수 사용해 인자로 배열을 주고 각 해당 값의 범위에 따라 반환, 삼항 연산자 사용
function openOrSenior(data){
return data.map(([age, handicap]) =>
(age > 54 && handicap > 7) ? 'Senior' : 'Open');
}