🔥 is_even
🔥 calculateTotal
🔥 get_prefix
🔥 get_find
🔥 find_longest_word
✔️ 0이 짝수인지 홀수인지 헷갈려서 elif로 우선 처리하고, test에 통과하지 못하면 0인지부터 확인하는 코드로 수정하려했으나, 통과되서 제출하였다.
def is_even(num): if num % 2 == 0: return "짝수 입니다." elif num % 2 == 1: return "짝수가 아닙니다." print(is_even(11)) # --> "짝수가 아닙니다." print(is_even(10)) # --> "짝수 입니다."
✔️ 만일 0을 처리해야할 경우에는 아래처럼 코드를 작성하면 될 것 같다. 하지만 끝나고 찾아본 결과 0은 짝수였다.
def is_even(num): if num == 0: return "0입니다." elif num % 2: return "짝수가 아닙니다." else: return "짝수 입니다." print(is_even(11)) # --> "짝수가 아닙니다." print(is_even(10)) # --> "짝수 입니다."
✔️ js로 풀면 아래와 같다.
function isEven(num) { if(num % 2){ return "짝수가 아닙니다." }else{ return "짝수 입니다." } } console.log(isEven(11)) // --> "짝수가 아닙니다." console.log(isEven(10)) // --> "짝수 입니다."
✔️ python으로 해결하면 아래와 같다.
def calculate_total(amount): amount = amount + (amount*0.095) + (amount*0.15) return amount print(calculate_total(20)) --> 24.9
✔️ javascript로 해결하면 아래와 같다.
function calculateTotal(amount) { amount = amount + (amount*0.095) + (amount*0.15) return amount } console.log(calculateTotal(20)); // --> 24.9
✔️ 문자열을 split함수로 처리하면 split함수에 전달한 인자를 기준으로 나눠 list로 반환한다.
✔️ 이에 ['BTC', 'KRW']이 반환되기 때문에 index 0번인 요소를 함수에서 처리해주면 쉽게 해결할 수 있다.
def get_prefix(str): return str.split('-')[0] print(get_prefix('BTC-KRW')) # --> BTC
✔️ js로 해결하면 아래와 같다.
function getPrefix(str) { return str.split('-')[0] } console.log(getPrefix('BTC-KRW')) // --> BTC
✔️ 문장이 str로 주어지고, 찾을 target이 char로 전달될 때, 찾지 못하면 -1을 반환하고, 찾으면 그 index를 반환하는 문제이다.
✔️ str안에 char가 존재하지 않으면 for문으로 탐색할 필요가 없기 때문에 이를 최우선으로 확인한 뒤, 존재할 경우에만 for문이 작동되게 구현했다.
def get_find(char, str): if char not in str: return -1 for i in range(0, len(str)): if str[i] == char: return i output = get_find('a', 'I am a hacker') print(output) # --> 2
✔️ js로 해결하면 아래와 같습니다.
function getFind(filter, sentence) { for(i = 0; i<sentence.length; i++){ if(sentence[i] === filter){ return i; } } return -1; } getFind('a', 'I am a hacker'); const output = getFind('a', 'I am a hacker') console.log(output) // --> 2
✔️ for문으로도 해결할 수 있지만, sort 함수로 풀어보았다.
✔️ 정렬 기준을 요소의 길이로 지정하면, 길이가 짧은 순으로 정렬되기 때문에 reverse=True
값을 주었다.
✔️ 더 짧게 작성하고 싶다면, reverse=True
를 주지않고 return words[-1]
를 반환하면된다.
def find_longest_word(words): words.sort(key=len, reverse=True) return words[0] print(find_longest_word(["PHP", "Exercises", "Backend"])) # --> "Exercises"
✔️ js로 해결하면 아래와 같습니다.
function find_longest_word(arr) { let longest = arr[0]; for( let i = 0; i < arr.length; i++){ if(longest.length < arr[i].length){ return longest = arr[i]; } } } find_longest_word(["PHP", "Exercises", "Backend"]);
짱재님 감사링 감사감사