반응형

코딩테스트 연습/프로그래머스 25

[프로그래머스 - Python] 2020 KAKAO BLIND RECRUITMENT > 문자열 압축

(파이썬으로 코딩테스트 연습) Programmers > 2020 KAKAO BLIND RECRUITMENT > 문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr Solution def solution(s): if len(s)==1 : return(1) answer = [] for i in range(1,int(len(s)/2)+1) : split_data = [s[z:z+i] for z in..

[Python - 프로그래머스] 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천

(파이썬으로 코딩테스트 연습하기) Programmers > 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr Solution import re def solution2(new_id) : # step1 new_id = new_id.lower() # step2 new_id = re.sub(r"[^a-zA-Z0-9-_.]","",new_..

[Python - 프로그래머스] 로또의 최고 순위와 최저 순위

(파이썬으로 코딩테스트 연습하기) Programmers > 로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr Solution def score(x): # 일치하는 번호 개수 return 6-(max(x,1))+1 # 일치하는 번호가 0개일땐 7등이 아니라 6등 def solution(lottos, win_nums): i = 0 # 일치..

[Python - 프로그래머스] 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기

파이썬으로 코딩테스트 연습 :: 프로그래머스 > 신고 결과 받기 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr Solution def solution(id_list, report, k): report = set(report) answer = {x:0 for x in id_list} # 메일 보낼 횟수 reports = {x:0 for x in id_list} # 신고 당한 횟수 for x in rep..

[프로그래머스 - Python] 전화번호 목록

파이썬으로 코딩테스트 연습하기 :: 프로그래머스 > 해시 > 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr Solution def solution(phone_book): phone_book.sort() answer = True for i in range(len(phone_book)-1) : x = phone_book[i] y = phone_book[i+1] x_len = len(x) y_l..

[프로그래머스 - Python] 완주하지 못한 선수

(Python 코딩테스트 연습) Programmers 완주하지 못한 선수 파이썬으로 풀어보기 https://programmers.co.kr/learn/courses/30/lessons/42576?language=python3# 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr Solution from collections import Counter def solution(participant, completion): result = list(set(participant)-set(complet..

[프로그래머스 - Python] 코딩테스트 연습 > 월간 코드 챌린지 시즌1 > 삼각 달팽이 in python

파이썬으로 코딩테스트 연습 :: 프로그래머스 삼각 달팽이 삼각 달팽이 문제 설명 정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 1,000 이하입니다. 입출력 예 nresult 4 [1,2,9,3,10,8,4,5,6,7] 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] 입출력 예 설명 입출력 예 #1 문제 예시와 같습니다. 입출력 예 #2 ..

[프로그래머스 - Python] 코딩테스트 연습 > 2020 카카오 인턴십 > 키패드 누르기

파이썬으로 코딩테스트 연습하기 :: 프로그래머스 키패드 누르기 in python 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때..

[프로그래머스] 코딩테스트 연습 > 월간 코드 챌린지 시즌1 > 내적 in python

파이썬으로 프로그래머스 풀기 :: 내적 문제 설명 길이가 같은 두 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의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 abresult [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 설명 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 내적은 (..

[프로그래머스] 월간 코드 챌린지 시즌1 > 3진법 뒤집기 in python

파이썬으로 프로그래머스 풀기 :: 3진법 뒤집기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 nresult 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 125 11122 22111 229 따라서 229를 ..

반응형