프로그래머스 | 행렬의 덧셈 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(arr1, arr2): for i in range(len(arr1)): for j in range(len(arr1[0])): arr1[i][j] += arr2[i][j] return arr1 두 행렬 arr1, arr2를 더하는 문제이다. numpy를 사용하면 쉽게 할 수 있지만, 라이브러리를 사용하지 않고 어떻게 하면 구현할 수 있을지 고민하는데 시간이 소요되었다. 하지만 조금만 생각하면 쉽게 풀 수 있는 문제이다. 문제에서 주어진 예시를 가지고 살펴보면 다음과 같다. 행렬의 덧..
프로그래머스 | 약수의 갯수와 덧셈 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(left, right): answer = 0 for i in range(left, right+1): c, j = 0, 1 # c = 약수의 개수, j = 약수 # 약수의 개수를 구하는 과정 while j
python | and, or 연산자를 return문에서 사용하기
·
TIL/python
파이썬의 return문에 and, or 연산자를 사용할 수 있다. 먼저, and, or 연산자에 대해 정리해보자. 1) and 연산자 조건 A, B 모두 참이면 참(True)을 반환한다. 조건 A, B 중 하나라도 거짓이면 거짓(False)을 반환한다. True and True = True True and False = False False and True = False False and False = False 2) or 연산자 조건 A, B 중 하나라도 참이면 참(True)을 반환한다. 조건 A, B 모두 거짓이면 거짓(False)을 반환한다. True or True = True True or False = True False or True = True False or False = False Tru..
python | 10진법을 2진법, 8진법, 16진법으로, n진법을 10진법으로 바꾸기
·
TIL/python
10진법 수를 2진법, 8진법, 16진법으로 나타내는 방법과 n진법 수를 10진법 수로 바꾸는 방법을 정리해보려 한다. 먼저, 2진법, 8진법, 16진법에 대해 간단하게 살펴보면 다음과 같다. 2진법은 0과 1로만 수를 나타내는 방법이다. 2진법으로 나타낸 수에서 각 자리는 뒤에서부터 $2^0$, $2^1$, $2^2$, $2^3$... 의 개수로 생각하면 쉽게 이해할 수 있다. 0 = 0 = $(0 \times 2^0)$ 1 = 1 = $(1 \times 2^0)$ 2 = 10 = $(1 \times 2^1 + 0 \times 2^0)$ 3 = 11 = $(1 \times 2^1 + 1 \times 2^0)$ 4 = 100 = $(1 \times 2^2 + 0 \times 2^1 + 0 \times 2..
프로그래머스 | 연속된 수의 합 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(num, total): avg = total // num return [i for i in range(avg - (num-1)//2, avg + (num+2)//2)] 이 문제 또한 주어진 테스트 케이스들을 통해 규칙을 찾아야 하는 문제이다. 연속된 num개의 수의 합이 total이 되도록 해야 한다. 문제에서 주어지는 테스트 케이스들을 살펴보면 중앙에 위치한 값이 total // num임을 알 수 있다. 첫 번째 케이스인 [3, 4, 5]에서 4가 12//3을 한 값이고, num..
프로그래머스 | 종이 자르기 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(M, N): answer = (M * N) - 1 return answer 간단한 문제처럼 보이지만 규칙을 찾아야 한다. 직접 그림을 그려 규칙을 찾아보았다. 가로를 M, 세로를 N이라 할 때, 가로 M을 먼저 자른다고 해보자. 그럼 가로는 M-1번 자르면 모든 가로 길이가 1이 된다. 그 결과, 가로가 1, 세로가 N인 직사각형이 M개 생긴다. 그럼 이제 이 직사각형들의 세로 길이를 1로 만들어줄 차례이다. 세로를 N-1번 자르면 모든 세로 길이가 1이 된다. N-1번 자를 직사..