"깊이"가 다른 게임개발자 허민영

유저에서 게임까지, 철학에서 코딩까지, 본질을 보는 게임개발

코딩테스트

Lv0-4. 연산,조건문

허민영 2025. 1. 10. 17:15
  • 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
using System;

public class Solution 
{
    public int solution(int num, int n) 
    {
        int answer = (num%n==0)? 1:0;
        return answer;
    }
}

 

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

public class Solution 
{
    public int solution(int number, int n, int m) 
    {
        int answer = (number%n+number%m==0)? 1:0;
        return answer;
    }
}

 

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

public class Solution
{
    public int solution(int n)
    {
        int answer = 0;
        if (n % 2 == 0)
        {
            for (int i = 0; i <= n; i++)
            {
               if(i%2==0) answer += i * i;
            }
        }
        else
        {
            for (int i = 0; i <= n; i++)
            {
               if(i%2==1)answer += i;
            }
        }
        return answer;
    }
}

//참고풀이
public class Solution {
    public int solution(int n) {
        int answer = 0;
        while(n >=0)
        {
            answer += n%2 == 0 ? n*n : n;            
            n -= 2;
        }
        return answer;
    }
}

보완점 :  알고리즘 개선이 필요

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

  • 나의 해답
using System;

public class Solution
{
    public int solution(string ineq, string eq, int n, int m)
    {
        int answer = 0;
        int temp = 0;
        if (ineq == "<") { temp = n; n = m; m = temp; }
        answer = (n > m) ? 1 : 0;
        if (eq == "=" && (n == m)) answer = 1;

        return answer;
    }
}

 

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

  • 나의 해답
using System;

public class Solution 
{
    public int solution(int a, int b, bool flag) 
    {
        int answer = 0;
        answer =flag? a+b:a-b;
        return answer;
    }
}

 

'코딩테스트' 카테고리의 다른 글

Lv0-6. 조건문, 반복문  (2) 2025.01.13
Lv0-5. 조건문  (1) 2025.01.11
Lv0-3. 연산  (0) 2025.01.10
Lv0-2. 출력,연산  (3) 2025.01.02
Lv0-1. 출력  (1) 2024.12.30