본문 바로가기

Algorithm245

[프로그래머스] Lv1 - 음양 더하기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr def solution(absolutes, signs): answer = ['+'+str(j) if i else '-'+str(j) for i, j in zip(signs, absolutes)] answer = ''.join(answer) return eval(answer) 풀이 1. zip으로 두 리스트를 묶어서 sings가 True이면.. 2022. 3. 16.
[프로그래머스] Lv1 - 없는 숫자 더하기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr def solution(numbers): numbers = set([i for i in range(10)]) - set(numbers) return sum(numbers) 풀이 1. 집합의 차집합 기능을 이용해서 없는 숫자 집합을 만든다. 2. 그 집합의 합 return 너무 쉬운 문제가 나올 경우. 최대한 여러 .. 2022. 3. 16.
[백준] 20040번 - 사이클 게임 (파이썬) # 사이클 게임 N, T = map(int, input().split()) parent = [i for i in range(N)] def find_parent(x): if x != parent[x]: x = find_parent(parent[x]) return parent[x] def union_parent(x, y): x = find_parent(x) y = find_parent(y) if x y: parent[x] = y return False else: return True for i in range(1, T+1): x, y = map(int, input().split()) if union_parent(find_parent(x.. 2022. 3. 16.
[프로그래머스] Lv1 - 크레인 인형뽑기 게임 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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): stack = [] result = 0 for x in moves: for i in range(len(board)): target = board[i][x-1] if target != 0: board[i][x-1] = 0 if stack and stack[-1] == target: stack.pop() result += 2 else: sta.. 2022. 3. 16.
[프로그래머스] Lv1 - 키패드 누르기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [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 from collections import defaultdict def solution(numbers, hand): arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ['*', 0, '#']] # 숫자의 위치 딕셔너리 정의 loca.. 2022. 3. 16.
[프로그래머스] Lv1 - 숫자 문자열과 영단어 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr change = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4', 'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'} def solution(s): for x in change: s = s.replace(x, change.. 2022. 3. 16.
[프로그래머스] Lv1 - 신규 아이디 추천 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr import re def solution(new_id): # 1 new_id = new_id.lower() # 2 new_id = re.sub('[^0-9a-z\-\_\.]', '', new_id) # 3 new_id = re.sub('[.]{2,}', '.', new_id) # 4 new_id = re.sub('^[\.]|[\.]$', '', new_i.. 2022. 3. 16.