[Programmers] Lv1. 3진법 뒤집기 문제 바로가기 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 풀이 tmp에 3진법으로 만든 답을 넣는다. 이 과정에서 자연스럽게 앞 뒤 반전이 된 3진법으로 저장이 된다. 그리고 int(tmp, 3)을 사용해 3진법을 10진법으로 변경 코드 def solution(n): tmp = '' while n: tmp += str(n % 3) n //= 3 return int(tmp, 3) 2021. 5. 15.
[Programmers] Lv1. 예산 문제 바로가기 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 풀이 부서별로 신청한 금액(d)을 정렬하고, cnt에 차근차근 더해가며 cnt가 budget을 넘어가게 되면 answer을 반환 코드 def solution(d, budget): answer = cnt = 0 d.sort() for i in range(len(d)): cnt += d[i] if cnt > budget: break answer += 1 return answer 2021. 5. 15.
[Programmers] Lv1. 신규 아이디 추천 문제 바로가기 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 다른 방식으로도 풀었지만, 정규표현식 연습을 위해 정규표현식을 사용해 풀어보았다, 코드 import re def solution(new_id): # 1. 모든 대문자 소문자로 치환 answer = new_id.lower() print(answer) # 2. 소문자, 숫자, -, _, . 만 남겨두기 answer = re.sub('[^a-z0-9\-_.]', '', answer) # 3. 마침표가 2번 이상이면 하나로 치환 answer .. 2021. 5. 15.
[Python] 정규 표현식 메타 문자 문자가 가진 원래 의미가 아닌 특별한 용도로 사용되는 문자 . ^ $ * + ? { } [ ] \ | ( ) import re import re # 문자열의 시작 부분에서 일치하는지 판단 re.match(pattern, string, flags) # match(패턴, 패턴을 찾을 문자열, [옵션]) # match와 비슷하지만, 일치하는 위치를 찾으면서 문자열 훓음 re.search(pattern, string, flags) # search(패턴, 패턴을 찾을 문자열, [옵션]) # 일치하는 모든 부분 문자열을 찾아 리스트로 반환 re.findall(pattern, string, flags) # 일치하는 모든 문자열을 찾아 이터레이터로 반환 re.finditer(pattern, string, f.. 2021. 5. 15.
[Python] Import 위치 Python으로 프로그래머스 문제를 풀다 보면, 모듈을 import 할 때 두 가지의 방법이 있는데 꼭 맨 윗줄에 써야 하는 건지 궁금했다. # 함수 내 모듈 삽입 def solution(num): from collections import deque ... return answer # 함수 밖 모듈 삽입 from collections imort deque def solution(nums): ... return answer 위의 두 방법 중 무엇이 옳고, 무엇이 빠를까..? 검색을 통해 찾아낸 결론은, 모듈은 함수를 여러번 실행해도 한 번만 import 되기 때문에 어디에 사용하든지 상관없다. 모듈 맨 위에서 import를 하게 되면 컴파일러가 LOAD_GLOBAL하는 반면 함수 안에서는 LOAD_FAS.. 2021. 5. 15.
[Programmers] Lv1. 내적 문제 바로가기 코딩테스트 연습 - 내적 길이가 같은 두 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 풀이 solution()은 zip을 사용해 각각의 리스트 원소들을 곱한 것의 합을 구함 코드 def solution(a, b): return sum(i * j for (i, j) in zip(a, b)) 2021. 5. 15.
[Programmers] Lv1. 소수 만들기 문제 바로가기 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 풀이 primeNumber()는 에라토스테네스의 체를 이용해 소수리스트를 만드는 함수로, 에라토스테네스의 체 연습용 solution()은 combinations라이브러리를 사용해 nums에서 3개를 뽑고, 그 3개의 합이 소수리스트에 들어있으면 +1 코드 # 에라토스테네스의 체 def primeNumber(): lst, prime = [0] * 3001, [] lst[0] = lst[1] = 1 for i in range(2, .. 2021. 5. 15.
[Programmers] Lv1. 음양 더하기 문제 바로가기 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 풀이 signs가 true면 answer에 더하고, false면 answer에서 뺀다. 코드 def solution(absolutes, signs): answer = 0 for sign in range(len(signs)): if signs[sign]: answer += absolutes[sign] else: answer -= absolutes[sign] return answer 2021. 5. 15.
[과제] FE - 고양이 사진첩 애플리케이션 [프론트엔드] 고양이 사진첩 애플리케이션 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제지 당신은 고양이들을 모시고 있는 어느 집사에게 자신의 고양이 사진을 관리해달라는 의뢰를 받았습니다. 의뢰인은 당신이 믿을만한 사람인지 테스트하기 위해, 약간의 사진을 당신에게 보냈으며 이 사진들을 웹에서 볼 수 있도록 해달라고 합니다. 이 사진을 어떻게 처리할까 고민 중이던 때, 당신의 절친한 친구 Back-end 개발자가 당신을 돕기 위해 의뢰인이 보낸 사진들을 API 형태로 만들어주었습니다. 이 API를 이용해, 의뢰인을 만족시킬 수 있는 고양이 사진첩 애플리.. 2021. 5. 15.
반응형