728x90

Python/Coding Test 59

[Coding Test] 내적

프로그래머스 코딩테스트 1단계 : 내적 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 문제 풀이 정답을 담을 answer를 0으로 정의 반복문의 범위를 a 배열의 길이로 설정 a와 b에서 같은 자리의 값을 곱해서 answer에 더해줌 answer 출력 정답 코드 def solution(a, b): answer = 0 for i in range(len(a)): answer += a[i] * b[i] return answer* 이 문제는 프로그래머스 코딩테스트 연습 1단..

Python/Coding Test 2023.05.31

[Coding Test] 최댓값과 최솟값

프로그래머스 코딩테스트 2단계 : 최댓값과 최솟값 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 문제 풀이 문자열 s를 split 함수를 통해 공백을 기준으로 나누어 리스트로 만들어 줌 map 함수를 통해 리스트를 정수로 변환 최솟값, 최댓값 순서로 새로운 리스트 c에 저장 join과 map을 통해 리스트를 문자열 형태로 변형 정답 코드 def solution(s): a = s.split() b = list(map(int,..

Python/Coding Test 2023.05.28

[Coding Test] 예산

프로그래머스 코딩테스트 1단계 : 예산 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해..

Python/Coding Test 2023.05.27

[Coding Test] 숫자 문자열과 영단어

숫자 문자열과 영단어 : 2021 카카오 채용연계형 인턴십 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 문제 풀이 문자열 s에서 영단어와 대응되는 숫자를 replace를 이용해 변경해 answer에 저장..

Python/Coding Test 2023.05.27

[Coding Test] [1차] 비밀지도

[1차] 비밀지도(2018 KAKAO BLIND RECRUITMENT) 문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과..

Python/Coding Test 2023.05.26

[CodingTest] 같은 숫자는 싫어 (스택/큐)

프로그래머스 코딩테스트 1단계 : 같은 숫자는 싫어 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 문제 풀이 빈 배열 answer을 만들어 줌 반복문의 범위..

Python/Coding Test 2023.05.17

[Coding Test] 나누어 떨어지는 숫자 배열

프로그래머스 코딩테스트 1단계 : 나누어 떨어지는 숫자 배열 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 문제 풀이 문제 조건에 맞는 요소를 넣을 배열 answer 정의 반복문을 통해 arr 를 반복 조건문을 통해 i를 divisor로 나누었을 때 나머지가 0인 값(나누어 떨어지는 값)을 answer에 추가하고 반복문 끝냄 새로운 조건문을 통해 리스트의 길이가 0이면 리스트에 -1 추가 값을 오름차순으로 정렬하기 위해 sort()해줌 (혹은, sort(reverse=False) 해줌) 정답 코드 de..

Python/Coding Test 2023.05.17

[Coding Test] 정수 내림차순으로 배치하기

프로그래머스 코딩테스트 1단계 : 정수 내림차순으로 배치하기 문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 문제 풀이 정수 n을 str()을 통해 문자열로 변경하고list로 변환 list를 정렬함수 sort()를 통해 높은 숫자가 앞으로 갈 수 있게 정렬 ''.join(list)를 이용해 리스트를 문자열로 변환 문자열 a를 int()를 통해 정수로 변환 정수 b 리턴 정답 코드 def solution(n): answer = list(str(n)) answer.sort(reverse = True) a = ''.join(a..

Python/Coding Test 2023.05.16

[Coding Test] 부족한 금액 계산하기

프로그래머스 코딩테스트 1단계 : 부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 입출력 예 (3+6+9+12) - 20 = 30 - 20 = 10 문제 풀이 반복문의 범위를 1, count+1로 주고 price와 곱해 count 만큼 answer에 ..

Python/Coding Test 2023.05.10

[Coding Test] 약수의 개수와 덧셈

프로그래머스 코딩테스트 1단계 : 약수의 개수와 덧셈 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 입출력 예 문제 풀이 반복문을 통해 i의 값을 left부터 right까지 반복 i의 약수의 개수가 홀수이면 제곱근을 가진다는 것을 이용해 조건문 생성 약수의 개수가 홀수이면, answer에서 뺌 약수의 개수가 짝수이면, answer에 더함 정답 코드 def solution(left, right): answer = 0 for i in range(left, right+1): if int(i**0.5) == i**0...

Python/Coding Test 2023.05.10
반응형