[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.
[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.
[Programmers] Lv1. 로또의 최고 순위와 최저 순위 문제 바로가기 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 solution 함수는 0이 6개면 [1, 6]을 반환하고, 아니라면 lottos와 win_nums를 정렬한 후 countAnswer함수를 반환 countAnswer함수는 정렬된 리스트를 돌면서 정답의 개수를 answer_cnt로 구한다. 그리고 rankLotto 함수를 반환 rankLotto함수는 [정답 개수, 정답 개수 + 0의 개수]를 가지고 1~6등을 매기는 함수 코드 def rankLot.. 2021. 5. 14.
[Programmers] Lv1. 모의고사 문제 바로가기 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 3명의 사람이라서 people의 푸는 방식을 리스트로 만들었다 그리고 score를 미리 [0, 0, 0]으로 초기화해 answers를 돌면서 수포자의 정답과 같으면 score 해당 인덱스를 +1 (여기서, 각 수포자의 정답 길이를 가지고 % 연산을 통해 리스트를 길게 늘이지 않고 정답의 인덱스 계산 가능) 점수 중 최고점을 가지고 answer에 최고점을 가진 수포자의 번호를 추가해준다. 코드 def solution(answers): score.. 2021. 5. 14.
반응형