Engineering WIKI
-
[프로그래머스] 폰켓몬Engineering WIKI/Programmers 2022. 4. 1. 02:41
코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 내 풀이 def solution(nums): answer = 0 length = len(nums) // 2 temp = set(list(nums)) if length < len(temp): answer = length else: answer = len(temp) return answer 다른 방법 def solution(nums): return min(len(set(nums)), len(nums)//2)
-
[프로그래머스] 모의고사Engineering WIKI/Programmers 2022. 4. 1. 02:40
코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 내 풀이 def solution(answers): person1 = [1, 2, 3, 4, 5] person2 = [2, 1, 2, 3, 2, 4, 2, 5] person3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] result = [0, 0, 0] answer_result = [] for idx, answer in enumerate(answers): if answer == person1[idx % len(person1)]: result[0] +..
-
[프로그래머스] 소수 만들기Engineering WIKI/Programmers 2022. 4. 1. 02:38
코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 내 풀이 import math from itertools import combinations def is_prime(sum_num): # 2부터 sum_num의 제곱근까지의 모든 수를 확인 for i in range(2, int(math.sqrt(sum_num)) + 1): # sum_num이 해당 수로 나뉘어지면 if sum_num % i == 0: return False return True def solution(nums): list_n..
-
[프로그래머스] 내적Engineering WIKI/Programmers 2022. 4. 1. 02:37
코딩테스트 연습 - 내적 길이가 같은 두 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의 programmers.co.kr 내 풀이 def solution(a, b): answer = 0 for i in zip(a, b): answer += i[0] * i[1] return answer 다른 방법 def solution(a, b): return sum([x*y for x, y in zip(a,b)])
-
[프로그래머스] 음양 더하기Engineering WIKI/Programmers 2022. 4. 1. 02:35
코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 내 풀이 def solution(absolutes, signs): answer = 0 for i in zip(absolutes, signs): if i[1]: answer += i[0] else: answer -= i[0] return answer 다른 방법 def solution(absolutes, signs): return sum(absolutes if sign else -absolutes for absolutes, sign in zi..
-
[프로그래머스] 없는 숫자 더하기Engineering WIKI/Programmers 2022. 4. 1. 02:32
코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr 내 풀이 def solution(numbers): answer=0 for i in range(1,10): if i not in numbers: answer += i return answer 다른 방법 solution = lambda x: sum(range(10)) - sum(x)
-
[프로그래머스] 크레인 인형뽑기 게임Engineering WIKI/Programmers 2022. 4. 1. 02:30
코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 풀이 (첫 번째 시도) - 실패 def solution(board, moves): answer = 0 stack = list() for i in moves: new_data = board[i - 1].pop() if new_data == 0: continue if stack and stack[-1] == new_data: answer += 2 del stack[-1] else: new_data = stack.append(new_data) return answer 다른 방법 def solu..
-
[프로그래머스] 키패드 누르기Engineering WIKI/Programmers 2022. 4. 1. 02:28
코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 def solution(numbers, hand): answer = '' # 키패드 좌표료 변경 dic = {1: [0, 0], 2: [0, 1], 3: [0, 2], 4: [1, 0], 5: [1, 1], 6: [1, 2], 7: [2, 0], 8: [2, 1], 9: [2, 2], '*':[3, 0], 0: [3, 1], '#': [3, 2]}..