본문 바로가기

프로그래머스28

[Python] 완주하지 못한 선수 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 참가자와 완주자들의 배열을 정렬하면 문자들의 순서가 동일하게 정렬되기 때문에 같은 인덱스에서 다른 문자가 나올 경우 완주하지 못한 선수로 하였고 반복문을 다 돌때까지 찾지못했다면 완주한 선수의 배열의 길이는 참가자의 배열의 길이 -1 이므로 결국 참가자의 맨 마지막 사람이 완주하지 못했다는 의미가 되어 완주하지 못한 선수를 구해 해결할 수 있었습니다. 파이썬을 배우면서 풀고있는 알고리즘문제이기 때문에 다른 사람들의 풀이를 보면서 coll.. 2021. 2. 7.
[Python] 신규 아이디 추천 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr 풀이 파이썬의 정규표현식을 이용해서 문제에서의 2단계와 3단계를 쉽게 해결하여 풀 수 있었습니다. 파이썬은 공부하면 공부할수록 문제를 더 쉽게(?)풀 수 있는 매력적인 언어같습니다 코드 import re def solution(new_id): answer = '' # 알아서 알파벳만 소문자로 바꾸어 준다. # 1단계 new_id = new_id.lower() # 2단계 new_id = re.sub('[^a-z0-9-_.]', '', new_id) # 3단계 .. 2021. 2. 4.
[Python] 두 개 뽑아서 더하기 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 파이썬의 permutation을 이용해서 모든 경우의 수를 구한 후 중복을 처리하기위해 set을 사용하여 해결했습니다. 이때, 파이썬의 set은 자동으로 정렬되지 않는 것을 주의해야 합니다. 코드 def solution(numbers): answer = set() select_num_list = list(permutations(list(numbers), 2)) for select_nums in select_n.. 2021. 1. 30.
[Python] 크레인 인형뽑기 게임 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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 풀이 파이썬으로 처음 풀어본 알고리즘 문제라서 이상한 부분이 있을 수도 있습니다! moves에서 값을 받아 해당 열을 조사해서 basket의 맨 뒤의 값 즉, 이전에 넣은 인형이 같다면 넣은 인형과 해당 인형 총 2개이므로 정답에 2를 더해주고 이전에 넣은 인형과 다르다면 basket에 넣어주기만 했습니다. 코드 def solution(board, moves): answer = 0 basket = [] board_len = len(board[0]) for i in moves: for j .. 2021. 1. 28.