일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 금융문자분석경진대회
- 편스토랑 우승상품
- 파이썬
- 프로그래머스
- 캐치카페
- leetcode
- Git
- programmers
- Baekjoon
- AI 경진대회
- SW Expert Academy
- gs25
- Kaggle
- ChatGPT
- 자연어처리
- 우분투
- dacon
- Docker
- 코로나19
- 백준
- Real or Not? NLP with Disaster Tweets
- hackerrank
- 데이콘
- ubuntu
- github
- 더현대서울 맛집
- 편스토랑
- PYTHON
- 프로그래머스 파이썬
- 맥북
- Today
- Total
목록
반응형
programmers (132)
솜씨좋은장씨

코딩 1일 1문제 오늘의 문제는 프로그래머스의 정수 제곱근 판별 입니다. 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr Solution def solution(n): answer = -1 num = pow(n, 0.5) if num == int(num): answer = pow((num+1), 2) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_P..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 자연수 뒤집어 배열로 만들기 입니다. 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr Solution def solution(n): answer = [] reverseStrN = str(n)[::-1] answer = list(map(int, list(reverseStrN))) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02..

코딩 1일 1문제! 오늘의 문제는 제일 작은 수 제거하기 입니다. 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr Solution def solution(arr): answer = [] if len(arr) == 1: answer = [-1] else: minNum = min(arr) answer = [num for num in arr if num != minNum] return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 sinc..

코딩 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문제! 오늘의 문제는 프로그래머스의 문자열 다루기 기본입니다. 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이 programmers.co.kr Solution 1 import re def solution(s): answer = False re_s = re.sub("[0-9]",'',s) if re_s == '': if len(s) in [4, 6]: answer = True return answer Solution 1 풀이 문자열의 길이가 4또는 6이고 숫자로만 구성되어있는지 ..

코딩 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문제 314일차! 오늘의 문제는 프로그래머스의 가운데 글자 가져오기 입니다. 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr Solution def solution(s): answer = '' center = len(s) // 2 if len(s) % 2 == 0: answer = s[center-1:center+1] else: answer = s[center] return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 20..

1일 1문제 313일차! 오늘의 문제는 프로그래머스의 나누어 떨어지는 숫자 배열 입니다. 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr Solution def solution(arr, divisor): answer = [num for num in arr if num % divisor == 0] if len(answer) > 0: answer = sorted(answer) else: answer = [-1] return answer SOMJA..

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문제 86일차! 오늘의 문제는 프로그래머스의 최댓값과 최솟값 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution def solution(s): answer = '' num_list = list(map(int, s.split(' '))) min_num = min(num_list) max_num = max(num_list) answer = str(min_num) + " " + str(max_num) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribu..

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문제 73일차! 오늘의 문제는 프로그래머스의 2018 KAKAO BLIND RECRUITMENT : [1차] 뉴스클러스트링 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 제출 import re def getTwolengthString(temp): re_compile = re.compile('[a-z]{2}') re_match = re.fullmatch(re_compile, temp) return re_match def solution(str1, str2): str1_list = list(str1.lower()) str2_list =..

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..