[코딩테스트] 코딩 기초 트레이닝 / Day 4 연산, 조건문

Effy_ee·2023년 7월 19일
0

코딩테스트

목록 보기
16/118

코딩 기초 트레이닝 👾


n의 배수
https://school.programmers.co.kr/learn/courses/30/lessons/181937

📖 문제

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


💻 답안

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

공배수
https://school.programmers.co.kr/learn/courses/30/lessons/181936

📖 문제

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


💻 답안

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

홀짝에 따라 다른 값 반환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181935

📖 문제

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


💻 답안

def solution(n):
    answer = 0
    if n%2==0:
        for i in range(0,n+1,2):
            print(i)
            answer+=i*i
    else:
        for i in range(1,n+1,2):
            answer+=i   

조건 문자열
https://school.programmers.co.kr/learn/courses/30/lessons/181934

📖 문제

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

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


💻 답안

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

    return answer

💻 다른사람 답안

def solution(ineq, eq, n, m):
   return int(eval(str(n)+ineq+eq.replace('!', '')+str(m)))

💡배운점

eval(expression)

eval 함수는 한줄로 정리하자면 매개변수로 받은 expression (=식)을 문자열로 받아서, 실행하는 함수이다.
즉, 매개변수로 받은 expression은 파이썬에서 실행 가능한 문자열이 들어와야 한다는것이고, 문자열로 들어온 그 expression을 파이썬이 실행해주는 함수이다.

replace()
replace는 문자열을 변경하는 함수이다. 문자열 안에서 특정 문자를 새로운 문자로 변경하는 기능을 가지고 있다. 사용 방법은 '변수. replace(old, new, [count])' 형식으로 사용한다.

  • old : 현재 문자열에서 변경하고 싶은 문자

  • new: 새로 바꿀 문자

  • count: 변경할 횟수. 횟수는 입력하지 않으면 old의 문자열 전체를 변경한다. 기본값은 전체를 의미하는 count=-1로 지정되어있다.


flag에 따라 다른 값 반환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181933

📖 문제

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


💻 답안

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

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

소중한 정보 감사드립니다!

답글 달기