일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 맥북
- Real or Not? NLP with Disaster Tweets
- PYTHON
- Kaggle
- programmers
- 우분투
- ubuntu
- hackerrank
- Baekjoon
- 캐치카페
- 더현대서울 맛집
- 편스토랑
- 프로그래머스
- 데이콘
- ChatGPT
- SW Expert Academy
- leetcode
- 편스토랑 우승상품
- dacon
- 자연어처리
- AI 경진대회
- 금융문자분석경진대회
- Docker
- 코로나19
- Git
- 백준
- gs25
- github
- 파이썬
- 프로그래머스 파이썬
- Today
- Total
목록
반응형
프로그래머스 (127)
솜씨좋은장씨

코딩 1일 1문제! 오늘의 문제는 x만큼 간격이 있는 n개의 숫자 입니다. 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr 첫번째 시도 def solution(x, n): minus = 1 if x < 0: minus = -1 answer = [x * minus for x in range(x * minus, x * minus * n + 1, x * minus)] return answer 위와 같이 range 안에서 처리를 하려고 했더니 x가 0일때 range..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 약수의 합입니다. 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr Solution def solution(n): answer = 0 yaksu_list = [] if n == 1: answer = 1 else: for i in range(1, n//2): if n % i == 0 and i not in yaksu_list: yaksu_list.append(i) if n // i != i: yaksu_list...

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 멀리뛰기 입니다. 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr Solution def solution(n): temp = dict() temp[0] = 1 temp[1] = 1 for i in range(2, n+1): temp[i] = temp[i-1] + temp[i-2] answer = temp[n] % 1234567 return answer SOMJANG/CODINGTEST_PRACTICE 1일..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 하샤드 수 입니다. 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr Solution def solution(x): answer = True x_num_sum = sum([int(num) for num in list(str(x))]) if x % x_num_sum != 0: answer = False return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute..

코딩 1일 1문제! 오늘의 문제는 2018년도 카카오 블라인드 채용 문제였던 압축입니다! 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr Solution def solution(msg): answer = [] new_id = 27 word_dict = dict() for ascii_num in range(65, 91): word_dict[chr(ascii_num)] = ascii_num - 64 idx_f, idx_e = 0, 0 while True: idx_e += 1 if idx_e == len(msg): answer.appen..

코딩 1일 1문제! 오늘의 문제는 프로그래머스 월간 코드 챌린지 시즌1의 문제였던 내적입니다. [Programmers] 행렬의 덧셈 (Python) 코딩 1일 1문제 오늘의 문제는 프로그래머스 행렬의 덧셈 입니다. 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩 somjang.tistory.com Solution 1 def solution(a, b): answer = 0 for a_val, b_val in zip(a, b): answer += a_val * b_val return answer Solution 2 def solution(a, b): answer = 0 for i in range(len(a)): answer +=..

코딩 1일 1문제 오늘의 문제는 프로그래머스 행렬의 덧셈 입니다. 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr Solution def solution(arr1, arr2): for row in range(len(arr1)): for col in range(len(arr1[row])): arr1[row][col] = arr1[row][col] + arr2[row][col] return arr1 SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.0..

코딩테스트 1일 1문제! 오늘의 문제는 2018년 카카오 블라인드 채용 문제였던 파일명 정렬입니다. 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr Solution import re def solution(files): answer = [] head_num_tail = [re.split(r"([0-9]+)", file) for file in files] sorted_head_num_tail = sorted(head_num_tail, key=lambda x: (x[0].lower(), int(x[1]..

코딩테스트 1일 1문제! 오늘의 문제는 프로그래머스의 3진법 뒤집기 입니다. 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr Solution def solution(n): answer = 0 ternary = "" while n > 0: n, mod = divmod(n, 3) ternary = ternary + str(mod) answer = int(ternary, 3) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 sin..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 이진변환 반복하기 입니다. 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr Solution def solution(x): answer = [] cnt = 0 zero = 0 while True: if x == '1': break zero = zero + x.count("0") x = x.replace("0", "") x = bin(len(x))[2:] cnt = cnt + 1 answer = [cnt, zero] return answer Solution 풀이 먼저 삭제한 0의 개수를 저장할 zero라는 변수명과 이진변환을 수행한 횟수를 나타낼 cnt 변수 두개를 선언합니다. while 반복문을 도는데 x가 '1' 이 되면 멈추는 조건..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 콜라츠 추측입니다. 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr Solution def solution(num): answer = 0 while True: if num == 1: break if answer > 499: answer = -1 break if num % 2 == 0: num = num / 2 elif num % 2 == 1: num = num * 3 + 1 answer = answer + 1 return answe..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 같은 숫자는 싫어 입니다. 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr Solution def solution(arr): answer = [] before_num = arr[0] answer.append(before_num) for i in range(1, len(arr)): if before_num != arr[i]: answer.append(arr[i]) before_num = arr[i] return answer SOMJANG..

코딩 1일 1문제! 오늘의 문제는 문자열 내 마음대로 정렬하기 입니다. 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr Solution def solution(strings, n): answer = [] strings = sorted(strings) answer = sorted(strings, key=lambda x: x[n]) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. ..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2019 카카오 블라인드 채용 문제였던 실패율 입니다. 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr Solution def solution(N, stages): answer = [] fail_percent = {} num_of_people = len(stages) for i in range(1, N+1): count = stages.count(i) if num_of_people == 0: fail_percent[i] = 0 else: fail_percent[..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2021 카카오 블라인드 채용 문제였던 신규 아이디 추천 입니다. 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr Solution import re def solution(new_id): answer = '' answer = new_id.lower() answer = re.sub('[^a-z0-9\-\_\.]', '', answer) answer = re.sub('\.{2,}', '.', answer) answer = re.sub('^\.|\.$', '', ..

1일 1문제 280일차! 오늘의 문제는 프로그래머스의 최고의 집합 문제입니다. 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족 programmers.co.kr Solution def solution(n, s): answer = [] if s // n < 1: answer = [-1] else: s_n = s // n for i in range(n): answer.append(s_n) s_p_n = s % n idx = len(answer) - 1 for i in range(s_p_n): answer[idx-i] = a..

1일 1문제 279일차의 문제는! 프로그래머스의 이상한 문자 만들기 입니다. 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 첫 번째 시도 def solution(s): s_list = list(s) for i in range(len(s_list)): if i % 2 == 0: s_list[i] = s_list[i].upper() elif i % 2 == 1: s_list[i] = s_list[i].lower() answer = "".join(s_list) return answer 이 문제는 짝수..

1일 1문제 278일차의 문제는 프로그래머스의 두 개 뽑아서 더하기 입니다. 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr Solution from itertools import combinations def solution(numbers): return list(sorted(set([sum(combs) for combs in combinations(numbers, 2)]))) Solution 해설 먼저 이 문제는 숫자가 담긴 리스트를 주면 여기서 숫자를 두개..

1일 1문제 84일차! 오늘의 문제는 프로그래머스의 124 나라의 숫자입니다! 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(n): answer = "" while n > 0: n, i = divmod(n, 3) if i == 0: n = n - 1 answer = '412'[i] + answer return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by ..

1일 1문제 77일차! 오늘의 문제는 프로그래머스의 카펫입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(brown, red): answer = [] for red_height in range(1, int(red**0.5) + 1): if red % red_height == 0: red_width = red // red_height if (2*red_width) + (2*red_height) + 4 == brown: answer = [red_width + 2, red_height + 2] break return..

1일 1문제 74일차! 오늘의 문제는 프로그래머스의 쇠막대기입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(arrangement): sum_num = 0 left = 0 for i in range(len(arrangement)): if arrangement[i] == '(': left = left + 1 elif arrangement[i] == ')': left = left - 1 if arrangement[i-1] == '(': sum_num = sum_num + left else: sum_num = sum..

1일 1문제 71일차! 오늘의 문제는 프로그래머스의 영어 끝말잇기 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(n, words): answer = [0, 0] for i in range(1, len(words)): if words[i-1][-1] != words[i][0] or words[i] in words[0:i]: answer[0] = ( i % n ) + 1 answer[1] = ( i // n ) + 1 break return answer SOMJANG/CODINGTEST_PRACTICE 1일 1..

1일 1문제 70일차! 오늘의 문제는 프로그래머스의 Summer/Winter Coding(~2018)의 소수만들기입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution from itertools import combinations def getPrimaryNum_Eratos(N): nums = [True] * (N + 1) for i in range(2, len(nums) // 2 + 1): if nums[i] == True: for j in range(i+i, N, i): nums[j] = False return [i for i in r..

1일 1문제 69일차! 오늘의 문제는 2019 카카오 개발자 겨울 인턴십 문제였던 튜플 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution from collections import Counter def solution(s): answer = [] delete_special_word_s = s.replace("{", "").replace("}", "").split(',') count_dict = Counter(delete_special_word_s) count_dict_most_common = count_dict.most_common(..

1일 1문제 67일차! 오늘의 문제는 프로그래머스의 다리를 지나는 트럭입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 from collections import deque def solution(bridge_length, weight, truck_weights): answer = 0 truck_weights_deque = deque(truck_weights) trucks_on_bridge = [] while True: if len(truck_weights_deque) == 0: break if sum(trucks_on_bridge) <..

1일 1문제 65일차! 오늘의 문제는 프로그래머스 해시의 위장입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(clothes): answer = 1 spy_clothes_dict = {} for cloth in clothes: if cloth[1] not in spy_clothes_dict.keys(): spy_clothes_dict[cloth[1]] = 1 else: spy_clothes_dict[cloth[1]] = spy_clothes_dict[cloth[1]] + 1 all_values = list(sp..

1일 1문제 60일차! 오늘의 문제는 프로그래머스의 더 맵게 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 def solution(scoville, K): answer = -1 count = 0 check_flag = False while min(scoville) < K: scoville = sorted(scoville, reverse=True) scoville.append(scoville.pop() + (scoville.pop() * 2) ) if len(scoville) == 1 and scoville[0] < K: check_f..

2020년! 프로그래머스에서 자연어처리 여러 회사들과 연계하여 자연어처리 개발자를 채용하는 Dev-Matching 챌린지가 열렸습니다. 마침 멀티캠퍼스 자연어처리 과정을 마치고 쿠팡 상차 아르바이트를 하며 취업을 준비하고 있던 저에게 열정을 불태울 만한 기회가 생겼습니다. 이 Dev-Matching은 11개 회사 중에서 5개 회사 서류 접수 -> 사전 과제 -> 코딩테스트 ( 과제 통과 인원들 ) -> 지원한 회사 중 합격한 회사 면접 순으로 일정이 진행되었습니다. 먼저 서류를 제출하고 과제를 열심히 기다렸습니다. 2월 1일! 드디어 과제가 오픈되었습니다. 과제의 내용은 해시코드라는 개발 관련 질문과 답변이 올라오는 홈페이지의 질문 글을 자동으로 분류할 수 있는 모델을 만드는 것이었습니다. 이 글이 5개..

1일 1문제 24일차! 오늘의 문제는 프로그래머스 스택 큐 프린터입니다. 코딩테스트 연습 - 프린터 | 프로그래머스 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 programmers.co.kr 첫번째 시도 def solution(priorities, location): answer = 0 pri_d..

1일 1문제 22일차! 오늘의 문제는 프로그래머스의 완전탐색 소수찾기입니다! 코딩테스트 연습 - 소수 찾기 | 프로그래머스 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 programmers.co.kr itertools의 permutation함수와 이전에 풀었던 에라토스테네스의 체 문제를 활용하여 ..