본문 바로가기
728x90
반응형

프로그래머스182

[프로그래머스] 최솟값 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 어떤 두 수의 곱의 누적합이 최소가 되려면 각각 최소와 최대를 서로 곱하고 그 값을 더해주면 된다. 입력받은 매개변수 A 배열은 오름차순으로 정렬하고 A.sort() 입력받은 매개변수 B 배열은 내림차순으로 정렬합니다. B.sort() B.reverse() 두 배열의 길이는 동일하므로 배열 A의 길이만큼 덧셈을 반복한다. for i in range(len(A)) 각 배열의 동일한 위치에 있는 원소끼리 곱하여 누적합에 더해준다. answer += A[i] * B[i] 3. 소스코드.. 2023. 7. 3.
[프로그래머스] 최대공약수와 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 최대공약수는 각 수의 공약수들을 각 세트로 구한 뒤, 두 세트의 교집합 중 최댓값을 구하면 된다. 각 공약수를 저장할 세트를 생성한다. Set1 = set() Set2 = set() 각 수를 나눠줄 변수를 생성하고 1로 초기화한다. i = 1 원하는 지점에서 종료하기 위해 무한 반복문을 사용한다. while (True) 입력받은 매개변수 n의 약수를 세트에 추가한다. if (n % i == 0): Set1.add(i) 입력받은 매개변수 m의 약수를 세트에 추가한다. if (m %.. 2023. 7. 3.
[프로그래머스] JadenCase 문자열 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 문자열에서 공백 문자가 연속으로 나올 수도 있으므로 split() 함수를 사용하여 각 단어를 분리할 수 없다. 하여 입력받은 문자열을 계속 그대로 가져가며 바꿔주었다. 입력받은 문자열을 모두 소문자로 바꾼 후 각 문자별로 분리하여 리스트로 저장한다. s = list(s.lower()) 만약 첫 번째 글자가 공백이 아니고 숫자도 아니라면 if (s[0] != ' '): if (not(s[0].isnumeric())) 첫 번째 글자는 영문자이고 문자열의 첫 글자이므로 대문자로 바꿔준.. 2023. 7. 3.
[프로그래머스] 직사각형 별찍기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 가로의 길이와 세로의 길이 중 각 세로의 길이별 가로의 길이만큼 별을 각 줄에 찍어주도록 구현한다. 세로의 길이만큼 반복을 진행한다. for i in range(b) 각 줄은 가로의 길이만큼 반복한다. for j in range(a) 각 세로줄에서 가로의 줄 길이만큼 별을 찍어준다. print('*', end='') 각 줄의 별을 모두 찍었으면 다음 줄로 넘겨준다. print() 3. 소스코드 a, b = map(int, input().strip().split(' ')).. 2023. 7. 2.
[프로그래머스] 행렬의 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 리스트의 행 크기만큼 연산하여 각 결과 행에 값을 추가한다. for i in range(len(arr1)) 각 행별로 각 연산 결과를 저장할 리스트를 생성한다. li = list() 각 행 안에서 각 열의 크기만큼 연산하여 결과를 임의의 리스트에 저장한다. for j in range(len(arr1[i])) 각 행렬의 위치에 맞는 값끼리 더하여 그 결과를 임의의 리스트에 추가한다. li.append(arr1[i][j] + arr2[i][j]) 행의 모든 열의 연산을 마치.. 2023. 7. 2.
[프로그래머스] 최댓값과 최솟값 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 문자열을 공백을 기준으로 분리하여 리스트 형식으로 저장한다. li = s.split() 저장한 리스트의 원소들은 문자 형태로 저장되어 있으므로 최댓값과 최솟값을 구하기 위해 원소들을 모두 정수형으로 바꿔준다. for i in range(len(li)): li[i] = int(li[i]) 정수형으로 바꿔준 리스트에서 최솟값과 최댓값을 찾아 다시 문자 형태로 바꾼 후 공백으로 연결하여 저장한다. answer += str(min(li)) + " " + str(max(li)) .. 2023. 7. 2.
[프로그래머스] 부족한 금액 계산하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 놀이기구를 원하는 만큼 타기 위해 필요한 금액을 계산할 변수를 생성하고 초기화해 준다. need = 0 매개변수로 입력받은 놀이기구의 이용 횟수만큼 금액이 늘어나므로 반복문을 사용한다. for i in range(count) 매 이용 횟수마다 금액이 배로 증가하므로 그 값을 계산하여 전체 필요한 금액에 추가한다. need += price * (i + 1) 만약 계산한 전체 필요한 금액이 처음 가지고 있던 금액보다 적으면 if (money > need) 금액이 부족하지 않으므로 결.. 2023. 7. 2.
[프로그래머스] 문자열 내림차순으로 배치하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 소문자와 대문자를 각각 저장해 줄 공백 리스트를 만든다. li = list() LI = list() 매개변수로 입력받은 문자열 s의 각 문자를 반복문을 사용하여 추출한다. for i in s 만약 추출한 문자를 아스키코드로 바꿨을 때 소문자 a의 아스키코드 값인 97과 소문자 z의 아스키코드 값인 122 사이에 있는 값이라면 if (97 2023. 7. 1.
[프로그래머스] 약수의 개수와 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 매개변수 left와 right 사이의 수들을 모두 고려해야 하므로 반복문을 사용한다. for i in range(left, right + 1) 약수의 개수를 저장해 줄 변수를 선언하고 초기화해 준다. count = 0 약수를 구하려면 1부터 자기 자신까지 나눠봐야 하므로 반복문을 사용한다. for j in range(1, i + 1) left와 right 사이의 수가 1부터 자기 자신까지 수 중 나눠 떨어지는 수가 있으면 if (i % j == 0) 약수이므로 약수의 개.. 2023. 7. 1.
[프로그래머스] 내적 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 매개변수 a와 b 배열의 길이는 동일하다. 따라서 한 배열의 길이를 가지고 두 배열의 모든 원소를 추출해야 한다. 반복문을 활용하여 각 배열의 원소를 추출한다. for i in range(len(a)) 내적은 각 배열에서 같은 위치에 있는 원소를 곱하여 더해주면 된다. answer += a[i] * b[i] 3. 소스코드 def solution(a, b): answer = 0 for i in range(len(a)): answer += a[i] * b[i] return .. 2023. 7. 1.
728x90
반응형