얼렁뚱땅 스며드는 Data Science

분류 전체보기 120

[프로그래머스] level2. 124 나라의 숫자

문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 나의 풀이 def solution(n): answer = '' while n : num = n % 3 if num == 1: ans = '1' el..

[프로그래머스 코딩테스트] lv1. 2주차 : 상호 평가

문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77 2 47 88 95 80 67 3 61 57 100 80 65 4 24 90 94 75 65 평균 45.5 81.25 97.2 81.6 67.8 학점 F B A B D 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 100점, 1번 학생에게 90점, 2번 학생에게 9..

[프로그래머스 코딩테스트] lv1. 행렬의 덧셈

문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 나의 풀이 import numpy as np def solution(arr1, arr2): arr1 = np.array(arr1) arr2 = np.array(arr2) return (arr1 + arr2).tolist() 이 문제는 numpy를 사용하면 매우 쉽게 풀 수 있습니다. 넘파이는 행렬, 텐서를 이용할 때 사용되는 패키지로 데이터 사이언스 쪽을 공부하게 된다면 반드시 알아야 하는 패키지입니다. 각 행렬을 numpy array로 만들어 더해주면 쉽게 값을 구할 수 있습니다...

[프로그래머스 코딩테스트] lv1. 최대공약수와 최소공배수

문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 나의 풀이 def gcd(a, b): if a % b == 0: return b else: return gcd(b, a % b) def solution(n, m): GCD = gcd(n, m) LCM = n * m / GCD return [GCD, LCM] 이 문제는 유클리드 호제법을 이용하여 풀면 매우 쉽게 풀리는 문제입니다. 최대공배수를 구해준 뒤, 최소공배수는 두 수를 곱한 값에 최대..

[프로그래머스 코딩테스트] lv1. 직사각형 별찍기

문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 나의 풀이 a, b = map(int, input().strip().split(' ')) for i in range(int(b)): print('*' * int(a)) 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programme..

[프로그래머스 코딩테스트] lv1. x만큼 간격이 있는 n개의 숫자

문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 나의 풀이 def solution(x, n): if x > 0: return list(range(x, x * n + 1, x)) elif x < 0: return list(range(x, x * n - 1, x)) else: return [0] * n 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 ..