목록CodingTest/programmers (96)
기억은 짧고 기록은 길다

Link 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr Solution 해당 문제는 제한사항이 작기 때문에 이중 for문과 combinations를 모두 사용해도 문제가 없다고 판단하였다. nums의 길이는 2 이상 100 이하입니다. nums의 모든 수는 0 이상 100이하입니다. def solution(nums): return sorted(set([nums[i] + nums[j] for i in range(len(nums)) for j in range(i+..

Link 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr Solution 해당 문제는 zip 함수를 사용하면 간단하게 해결할 수 있다. zip 함수의 간단한 예시를 살펴보고 넘어가도록 하겠다. // zip 함수 예시 // nums = [1, 2, 3] alps = ['A', 'B', 'C'] for num, alp in zip(nums, alps): print(num, alp) for pair in zip(nums, alps): print(pair) ... 1 A 2 B 3 C (1, ..

Link 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr Solution 해당 문제는 인덱싱의 개념에 대해 잘 알고 있다면 쉽게 해결할 수 있는 문제이다. 하지만 Listing Skill과 lambda 함수를 알고 있다면 한줄로 해결할 수 있는 문제였다. def solution(array, commands): result = [] for i in range(len(commands)): temp = array[commands[i][0] - 1 : commands[i][1]] temp.sort() result.append(temp[commands[i][2] - 1]) return..

Link 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr Solution 해당 문제는 보자마자 combinations가 떠올랐다. 하지만 combinations는 실행 시 많은 시간이 소요되기 때문에 다른 방법을 생각중에 제한사항이 눈에 들어왔다. nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. 다른 문제들에 비해 제한사항에서 상당한 시간이 걸려도 상관없다는 말이라는 것을 보자마자 combinations를 활용해 문제를 해결하였다. 문제를 잘 읽고 제한사항 또한 잘 살펴봐야..

Link 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr Solution 매번 코딩테스트를 풀때 단계별로 나누어 푸는 것이 좋다고 생각한다. 이번 문제에서는 각각 정답이 맞았을 때의 개수를 세기 위한 코드를 먼저 작성하였다. for i in range(len(answer)): if answer[i] == p1[i]: count[0] += 1 if answer[i] == p2[i]: count[1] += 1 if answer[i] == p3[i]: count[2] += 1 이와 같이 코드를 작성한 후 어떻게 하..

Link 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr Solution 매번 코딩테스트 문제를 풀면서 느끼지만 뭔가 이상하게 꼬아놓은듯하고 복잡한듯한 문제들은 의외로 상당히 간단하게 풀리는 경우가 많았다. 이번 문제의 경우도 그랬다. "선택할 수 있는 폰켓몬 종류의 최대 개수를 구하여라"가 포인트지만 결국 출력값이 nums/2 혹은 그것보다 작은 값이 존재할 경우 그 값을 선택하면 되는 문제였다. 그래서 작은 값이 존재하는 경우가 뭐가 있을까라고 생각해 보려고 하자마자 입출력 예시에 [3, 3, 3, 2..