본문 바로가기

알고리즘 풀이79

[algorithm] 프로그래머스: 최빈값 구하기 답: 더보기 def solution(array): num_dict = {} for num in array: if num in num_dict: num_dict[num] += 1 else: num_dict[num] = 1 # 내림차순 정리를 한다 sorted_list = sorted(num_dict.items(), reverse=True, key=lambda item: item[1]) # 1, 2번째 값의 value값을 비교하여 1이크면 key값, 같으면 -1, 배열이1개면 key값 반환 answer = 0 if len(sorted_list) == 1: # key-value값이 하나만 존재하는 경우 answer = sorted_list[0][0] return print(answer) elif sorted_.. 2023. 4. 5.
[algorithm] 프로그래머스: 몫 구하기 답: 더보기 def solution(num1, num2): answer = num1 // num2 return answer 문제 분석 및 해석 어..? 몫을 구하는 연산자 // 어제도 썼다. num1 도 정수 num2 도 정수로 입력될 것이니 따로 int도 안해줘도 되고 answer변수에 값을 넣어주면 되겠구만 풀이..라고 할것도 없이 보고 바로 풀었다 기분이가 너무좋아!! 그래도 이렇게 넘어가긴 아쉬우니 다른 풀이들을 봤다. >입력부분에 answer가 있다고 꼭 써야하는 것은 아니었구나. 답만 나오면 되니까. def solution(num1, num2): return num1 // num2 >내장함수 사용하기 def solution(num1, num2): return divmod(num1, num2)[.. 2023. 4. 4.
[algorithm] 백준: 2588 곱셈 2588 답: 더보기 a = int(input()) b = int(input()) b_list = [] def seperate(number): # 1의자리 ~ 높은 자리수 리스트 만들기 while (number != 0): b_list.append(number % 10) number = number//10 return b_list seperate(b) print(b_list[0] * a, b_list[1] * a, b_list[2] * a, a * b, sep='\n') 문제 분석 및 해석 """ 세자리 자연수 2개를 각각 a b라고 부를때, (1) a, b를 각각 1, 2 줄에 입력값을 받는다 (2) b를 각각의 자리수로 나누어야 곱할 수 있으니 나누어서 각 줄에 적어준다. 3 b의 1자리수와 a를 곱.. 2023. 4. 3.
[algorithm] 백준: 10430 나머지 10430 답: 더보기 A, B, C = map(int, input().split()) one = (A + B) % C two = ((A % C) + (B % C)) % C three = (A * B) % C four = ((A % C) * (B % C)) % C print(one, two, three, four, sep='\n') 문제 분석 및 과정 - 10430 문제 내용에서 필요없는 내용을 지운다. (출력값에 필요한 것이 아닌 단순한 의문이므로.) (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (AxB)%C는 ((A%C) x (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 출력 : 각각의 값을 차례로 4줄로 출력. 입력 : 첫째줄에 A, B, C가 순서대로 주어진다... 2023. 4. 2.