728x90
SMALL

using System;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        if(Math.Sqrt(n)%1 == 0)
        {
            answer = 1;
        }
        else
        {
            answer = 2;
        }
        return answer;
    }
}

 

/////

 

def solution(n):
    if n**(1/2) == int(n**(1/2)) :
        return 1
    else :
        return 2

 

파이썬

 

def solution(n):
    return 1 if (n ** 0.5) % 1 == 0 else 2

 

 

def solution(n):
    if n**(1/2) == int(n**(1/2)) :
        return 1
    else :
        return 2

 

 

자바

 

 

class Solution {
    public int solution(int n) {
        
        if (n % Math.sqrt(n) == 0) 
        {
            return 1;
        } 
        else 
        {
            return 2;
        }
    }
}
728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        
        while(n/10 != 0)
        {
            answer += n%10;
            n = n/10;
        }
        answer += n%10; //맨 마지막에 빠져나올 때에는 나머지를 안가져가서 추가로 더한다.


        return answer;
    }
}

 

/////

 

파이썬

 

def solution(n):
    answer = 0
    while n:
        answer += n%10
        n //= 10
    return answer

/////

 

def solution(n):
    return sum(int(i) for i in str(n))
728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int solution(string[] s1, string[] s2) {
        int answer = 0;
        
            for(int i=0;i<s1.Length;i++)
            {
                for(int j=0; j<s2.Length;j++)
                {
                    if(s1[i].Equals(s2[j]))  //if(s1[i] == s2[j])로도 해도 된다.
                    {
                       answer++;
                    }    
                }
            }       
        return answer;
    }
}

 

////

using System;
using System.Linq;

public class Solution {
    public int solution(string[] s1, string[] s2) {
        int answer = s1.Count(x => s2.Contains(x));
        return answer;
    }
}

파이썬

 

////

 

def solution(s1, s2):
    count = 0

    for val in s1:
        if val in s2:
            count += 1
    return count

 

//////

 

def solution(s1, s2):
    return len(set(s1)&set(s2));

 

 

자바

 

 

class Solution {
    public int solution(String[] s1, String[] s2) {
        int answer = 0;
        for(int i=0; i<s1.length; i++)
        {
            for(int j=0; j<s2.length; j++)
            {
                if(s1[i].equals(s2[j])) answer ++;
            }
        }
        return answer;
    }
}

 

 

import java.util.HashSet;
import java.util.List;
class Solution {

    public int solution(String[] s1, String[] s2) {
        int answer = 0;
        HashSet<String> set = new HashSet<>(List.of(s1));
        
        for (String s : s2) 
        {
            if(set.contains(s))
            {
                answer++;
            }
        }
        
        return answer;
    }
}

 

728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int solution(string str1, string str2) {
        int answer = 0;
        
        if(str1.Contains(str2))
        {
            answer =1;
        }
        else
        {
            answer = 2;
        }
        
        return answer;
    }
}

 

파이썬

/////

def solution(str1, str2):
    return 1 if str2 in str1 else 2

 

def solution(str1, str2):
    return 1 + int(str2 not in str1)

 

 

자바

 

 

class Solution {
    public int solution(String str1, String str2) {
        return (str1.contains(str2)? 1: 2);
    }
}

 

 

class Solution {
    public int solution(String str1, String str2) {
        
        if (str1.contains(str2)) 
        {
            return 1;
        }
        return 2;
    }
}
728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int solution(int price) {
        int answer = 0;
        if(price < 300000 && price >= 100000)
        {
            answer = price * 95/100;
        }
        else if(price >= 300000 && price < 500000)
        {
            answer = price * 9/10;
        }
        else if(price >= 500000 && price <= 1000000)
        {
            answer = price * 4/5;
        }
        else
        {
            answer = price;
        }
        return answer;
    }
}

 

 

/////

 

 

using System;

public class Solution {
    public int solution(int price) {
        int answer = 0;
        
        answer = (price < 300000 && price >= 100000) ? price * 95/100 : (price >= 300000 && price < 500000) ? answer = price * 90/100 : price >= 500000 ? answer = price * 4/5 : price;

        return answer;
    }
}

 

 

/////

 

 

using System;

public class Solution {
    public int solution(float price) {
        float  answer = 0;
        answer = price >= 500000 ? price * 0.8f : price >= 300000 ? price * 0.9f : price >= 100000 ? price * 0.95f : price;   
        return (int)answer;
    }
}

 

 

float도 생각해보기는 해야할 듯하다.

 

 

파이썬

 

 

//////

 

 

def solution(price):
    if price>=500000:
        price = price *0.8
    elif price>=300000:
        price = price *0.9
    elif price>=100000:
        price = price * 0.95
    return int(price)

 

 

자바

 

 

class Solution {
    public int solution(int price) {
        int answer = 0;

        if(price>=500000) return (int)(price*0.8);
        if(price>=300000) return (int)(price*0.9);
        if(price>=100000) return (int)(price*0.95);

        return price;
    }
}

 

 

class Solution {
    public int solution(int price) {
        int answer = 0;
        
        if(100000 <= price && price < 300000)
        {
            answer = (int) (price * 0.95);
        }
        else if(300000 <= price && price < 500000)
        {
            answer = (int) (price * 0.9);
        }
        else if(500000 <= price){
            answer = (int) (price * 0.8);
        }
        else
        {
            answer = price;
        }
        
        return answer;
    }
}

 

728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int solution(int[] array) {
        int answer = 0;
        
        // array 최대값 구하기
        Array.Sort(array);
        Array.Reverse(array);
        int[] count = new int[array[0] + 1];

/// 나중에 가장 큰 수가 몇 번 나왔는지 count하는 작업이 있기 때문에 가장 큰 수 +1개의 공간을 만든다.
        int max = 0;
        int num = 0;
        
        // array의 들어있는 값을 count 배열 인덱스에 넣고 개수가 있는 만큼 추가

//1번 예에서는 count[0] = 0 / count[1] = 1 / count[2] = 1 / count[3] = 3 / count[4] = 1 / count[5] = 0 이렇게 나온다. 3이 제일 많이 나왔다는 것.
        for(int i = 0; i < array.Length; i++)
        {
            count[array[i]]++;
        }


        // count 배열중 가장 많이 나온 숫자 찾기
        for(int i = 0; i < count.Length; i++)
        {
            if(count[i] > max)
            {
                max = count[i];
                answer = i;

//그러니까 i = 3을 출력한다.
            }
        }
        // count 배열중 가장 많이 나온 개수(max)랑 같은 개수가 있는지 찾기
        for(int i = 0; i < count.Length; i++)
        {
            if(count[i] == max)
            {
                num++;
            }
        }
        // 개수가 같은 값이 1개 이상인 경우 찾기, -1을 반환한다.
        if(num > 1)
        {
            answer = -1; // return -1;
        }
        
        return answer;
    }
}

 

 

자바

 

 

import java.util.*;
class Solution {
    public int solution(int[] array) {
        int maxCount = 0;
        int answer = 0;

        Map<Integer, Integer> map = new HashMap<>();

        // getOrDefault : 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드
        // getPrDefault(Object key, V DefaultValue)
        // 매개변수 : 이 메서드는 두개의 매개변수를 허용
        // key : 값을 가져와야 하는 요소의 키
        // defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환되어야 하는 기본값
        // 반환값 : 찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고, 그렇지 않으면 디폴트 값이 반환

        for(int number : array) 
        {
            int count = map.getOrDefault(number, 0) + 1;

            if(count > maxCount) 
            {
                maxCount = count;
                answer = number;
            }
            else if(count == maxCount) 
            {
                answer = -1;
            }

            map.put(number, count);
        }

        return answer;
    }
}

 

 

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

class Solution {
    public int solution(int[] array) {
        Map<Integer, Integer> map = new LinkedHashMap<>();

        for (int num : array) 
        {
            map.put(num, map.getOrDefault(num, 0) + 1);
        }

        List<Map.Entry<Integer, Integer>> entries = new ArrayList<>(map.entrySet());
        entries.sort((o1, o2) -> o2.getValue() - o1.getValue());

        if (entries.size() > 1) 
        {
            if (entries.get(0).getValue() == entries.get(1).getValue()) 
              return -1;
        }

        return entries.get(0).getKey();
    }
}
728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int solution(int[] array) {
        int answer = 0;
        Array.Sort(array);


        if(array.Length % 2 != 0)
        {
            answer = array[array.Length/2];
        }

//이거는 홀수 배열만 해당되는 거 같다.
        
        return answer;
    }
}

 

// 중앙값 구하기에 앞서 소팅을 해놔야 된다. Array.Sort를 이용했다.

 

파이썬

 

def solution(array):
    return sorted(array)[len(array) // 2]

 

자바

 

import java.util.Arrays;

class Solution {
    public int solution(int[] array) {
        Arrays.sort(array);
        return array[array.length >> 1];
    }
}

 

 

 

import java.util.*;

class Solution {
    public int solution(int[] array) {
        int answer = 0;

        Arrays.sort(array);

        answer = array[array.length/2];

        return answer;
    }
}
728x90

설정

트랙백

댓글

728x90
SMALL

using System;

public class Solution {
    public int[] solution(int denum1, int num1, int denum2, int num2) {
        int[] answer = new int[2];
        int min =0;
        for(int i = 1;i<=denum1 * num2 + denum2 * num1;i++)
        {
            if((denum1 * num2 + denum2 * num1)%i == 0 && num1*num2%i ==0)
            {
                min = i;
            }

///(denum1 * num2 + denum2 * num1)으로 i가 나뉘어 지면 약분이 되니까 그 경우에는 answer[0](분자)을 min으로 약분할 수 있어서 min의 조건에 추가가 되어 있다.
        }
        answer[0] = (denum1 * num2 + denum2 * num1)/min;
        answer[1] = num1 * num2 / min;         
        
        return answer;
    }
}

 

// 공약수를 조건문에서 찾는 과정에서 시간이 걸렸다.

 

 

자바

 

class Solution {
    public int[] solution(int denum1, int num1, int denum2, int num2) {
        int mother = num1 * num2;
        int son1 = num1 * denum2;
        int son2 = num2 * denum1;
        int totalSon = son1 + son2;
        
        for(int i = mother; i >= 1; i--)
        {
            if(totalSon % i == 0 && mother % i == 0)
            {
                totalSon /= i;
                mother /= i;
            }
        }
        
        int[] answer = {totalSon, mother};
        return answer;
    }
}

 

 

class Solution {
    public int[] solution(int denum1, int num1, int denum2, int num2) {
        int[] answer = new int[2];

        answer[0] = denum1*num2+denum2*num1;
        answer[1] = num1*num2;
        int min = Math.min(answer[0],answer[1]);
        int max = 1;
        
        for(int i=1; i<=min; i++)
        {
            if(answer[0]%i==0 && answer[1]%i==0)
            {
                max= i;
            }
        }
        
        answer[0] /= max;
        answer[1] /= max;
        return answer;
    }
}
728x90

설정

트랙백

댓글