기초 트레이닝 DAY3~4 (Python, js)

이다형·2023년 10월 25일
0

문자열 섞기

python

def solution(str1, str2):
    answer = ""
    for i in range(len(str1)):
        answer += str1[i] + str2[i]
    return answer      

js

function solution(str1, str2) {
    let answer = "";
    for(let i = 0; i<str1.length; i++){
        answer += str1[i]+str2[i]
    }
    return answer
}

문자 리스트를 문자열로 변환하기

문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.

python

def solution(arr):
    answer = ''
    for i in range (len(arr)):
        answer += arr[i]
    return answer

js

function solution(arr) {
    let result = ""
    for(let i = 0;i<arr.length; i++){
        result += arr[i]
    }
    return result
}

문자열 곱하기

문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

python

def solution(my_string, k):
    answer = ""
    for i in range(k):
        answer += my_string
    return answer

or

def solution(my_string, k):
    return my_string*k

js

function solution(my_string, k) {
    return my_string.repeat(k)
}

더 크게 합치기

연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.

python

def solution(a, b):
    ab = int(str(a)+str(b))
    ba = int(str(b)+str(a))
    return (ab if ab>ba else ba)

js

function solution(a, b) {
    return String(a)+String(b)>String(b)+String(a) ? +(String(a)+String(b)) : +(String(b)+String(a))
  	// 또는
    return Math.max(+(`${a}${b}`), +(`${b}${a}`))
}

두 수의 연산값 비교하기

연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 a b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 2 a b가 같으면 a ⊕ b를 return 합니다.

python

def solution(a, b):
    return max(int(str(a)+str(b)),2*a*b)

js

function solution(a, b) {
    return Math.max(+(`${a}${b}`),2*a*b)
}

n의 배수

정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.

python

def solution(num, n):
    return (1 if num%n == 0 else 0)

js

function solution(num, n) {
    return(num%n === 0 ? 1 : 0)
}

공배수

정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.

python

def solution(number, n, m):
    return (1 if number % n == 0 and number % m == 0 else 0)

js

function solution(number, n, m) {
    return number % n === 0 && number % m === 0 ? 1 : 0;
}

홀짝에 따라 다른 값 반환하기

양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.

python

def solution(n):
    result = 0;
    
    if n%2 == 1:
        for i in range(n+1):
            if i%2 == 1:
                result += i
    else:
        for i in range(n+1):
            if i%2 == 0:
                result += i**2
        

    return result

js

function solution(n) {
    let result = 0;
    if(n%2 === 1){
        for(let i = 0; i<=n;i++){
            if(i%2 === 1) result += i
        }
    }
    else {
        for(let i = 0; i<=n;i++){
            if(i%2 === 0) result += i**2
        }
    }
        
    return result
}

조건 문자열

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

  • 두 수가 n과 m이라면
    ">", "=" : n >= m
    "<", "=" : n <= m
    ">", "!" : n > m
    "<", "!" : n < m
    두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.

python

def solution(ineq, eq, n, m):
    if ineq == "<":
        if eq == "=":
            return (1 if n<=m else 0)
        return (1 if n<m else 0)
    elif ineq == ">":
        if eq == "=":
            return (1 if n>=m else 0)
        return (1 if n>m else 0)

flag에 따라 다른 값 반환하기

두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.

python

def solution(a, b, flag):
    return (a+b if flag else a-b)

js

function solution(a, b, flag) {
    return flag ? a+b : a-b
}

0개의 댓글