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

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 올바른 괄호 입니다. 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr 👨🏻💻 코드 ( Solution ) def solution(s): answer = True mystack = [] for idx, bracket in enumerate(s): if bracket == "(": mystack.append(bracket) else: try: if mystack.pop() == "(": pass except: answe..

코딩 1일 1문제! 즐거운 대체공휴일인 오늘! 오늘의 문제는 프로그래머스의 위클리 챌린지 5주차 문제인 모음사전입니다. 코딩테스트 연습 - 5주차_모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 👨🏻💻 코드 풀이 이 문제는 모음 ( A, E, I, O, U ) 로 이루어진 A ~ UUUUU 사이의 단어가 몇번째 단어인지를 맞추는 문제입니다. 저는 곱집합을 만들어주는 itertools의 product를 활용하여 문제를 풀었습니다. itertools의 product는 아래의 글을 참고..

코딩 1일 1문제! 오늘의 문제는 프로그래머스 위클리 챌린지 8주차! 최소직사각형 입니다. 코딩테스트 연습 - 8주차 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 👨🏻💻 코드 풀이 여러 명함의 크기를 알려주면 이 모든 명함들을 담을 수 있는 가장 작은 크기의 명함케이스의 크기를 구하는 문제입니다. 의외로 엄청 쉽게 풀 수 있는 문제입니다. 명함의 가로 세로 길이 중에서 가장 긴 길이로 먼저 명함케이스의 길이를 지정하면 쉽게 풀 수 있는 문제입니다. 먼저 각 명함의 길이들을 앞쪽에 더 긴 길이가 오도록 정렬합니다. [[60, 50], [30..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 월간 코드 챌린시 시즌 3 없는 숫자 더하기 입니다. 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 👨🏻💻 코드 ( Solution ) def solution(numbers): answer = -1 except_numbers = set(range(0, 10)) - set(numbers) answer = sum(list(except_numbers)) return answer GitHub - SOMJANG/CODI..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 6주차 문제인 복서 정렬하기 문제 입니다. 복서 정렬하기 문제를 파이썬을 활용해 풀이해보았습니다. 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 👨🏻💻 문제 풀이 복서 정렬하기는 각 선수의 몸무게와 경기 기록을 주었을 때 1. 전체 승률이 높은 복서의 번호가 앞쪽으로 갑니다. 아직 다른 복서랑 붙어본 적이 없는 복서의 승률은 0%로 취급합니다. 2. 승률이 동일한 복서의 번호들 중에서는 자신보다 몸무게가 무거운 ..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 4주차 문제! 직업군 추천하기 입니다. 3주차 문제를 먼저 풀고 왔어야했으나! 저의 실력이 아직.... 4주차를 먼저! 풀어보기로 했습니다. 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr Solution def make_prefer_score_table(languages, preference): prefer_score = {} for language, score in zip(languages, preference): prefer_score[lan..

코딩 1일 1문제! 오늘의 문제는 프로그래머스 2021년 웹 백엔드 개발자 상반기 Dev-Matching 문제 였던 로또의 최고 순위와 최저 순위 입니다. 이번주 로또 당첨을 기원하며! 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr Solution def get_lotto_rank(match_num): rank_dict = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6} return rank_dict[match_num] def sol..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 2주차 문제인 상호 평가 입니다. 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr Solution def get_person_grade(score): grade = "F" if score >= 90: grade = "A" elif 80

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 1주차 문제인 부족한 금액 계산하기 입니다. 드디어 길고 길었던, 2년같이 느껴졌던 2주간의 자가격리가 끝나 오늘부터는 본격적으로 다시 블로그를 운영해보려합니다. 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr Solution def solution(price, money, count): answer = -1 total_price = 0 for cnt in range(1, count+1): total_price += price * cnt..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 숫자 문자열과 영단어 입니다. 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr Solution def solution(string): answer = "" word_to_num = { "zero": "0", "one": "1", "two": "2", "three": "3", "four": "4", "five": "5", "six": "6", "seven": "7", "eight": "8", "nine": "9" } temp = "" for char i..

코딩 1일 1문제! 오늘의 문제는 최대공약수와 최소공배수 입니다. 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr Solution from fractions import gcd def solution(n, m): answer = [gcd(n, m), n*m / gcd(n, m)] return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE dev..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 다음 큰 숫자 입니다. 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr Solution def solution(n): answer = 0 one_count = bin(n).count("1") for num in range(n+1, 1000001): num_one_count = bin(num).count("1") if one_count == num_one_count: answer = num break return answer Sol..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 구명보트 입니다. 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr Solution def solution(people, limit): answer = 0 people.sort() start, end = 0, len(people) - 1 while start

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2개 이하로 다른 비트 입니다. 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr Solution def solution(numbers): answer = [] for number in numbers: if number % 2 == 0: binary_num = list(bin(number)[2:]) binary_num[-1] = "1" else: binary_num = bin(number)[2:] binary_num = "0" + binary_num one_idx = binary_num.rfind("0") binary_num = list(binary_num) binary_num[one_idx] = "1" binary_num[one_..

코딩 1일 1문제! 오늘의 문제는 프로그래머스 약수의 개수와 덧셈 입니다. 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr Solution def solution(left, right): answer = 0 for num in range(left, right + 1): operator = 1 divisor_num = len([n for n in range(1, num+1) if num % n == 0]) if divisor_num % 2 == 1: opera..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 소수찾기 입니다. 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr Solution def solution(N): nums = [True] * (N + 1) for i in range(2, len(nums) // 2 + 1): if nums[i]: for j in range(i+i, N + 1, i): nums[j] = False return len([i for i in range(2, N + 1) if nums[i]]) Solution ..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 핸드폰 번호 가리기 입니다. 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr Solution def solution(phone_number): answer = '' phone_number_len = len(phone_number) answer = '*' * (phone_number_len - 4) answer += phone_number[-4:] return answer Solution 풀이 먼저 전화번호의 길이를 구합니다. 뒷자리 4개를..

코딩 1일 1문제! 오늘의 문제는 N개의 최소공배수 입니다. 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr Solution def gcd(a, b): mod = a % b while mod > 0: a = b b = mod mod = a % b return b def solution(arr): answer = 0 arr.sort(reverse=True) for i in range(len(arr)-1): b = gcd(arr[i], arr[i+1]) arr[i+1] ..

코딩 1일 1문제 오늘의 문제는 프로그래머스의 행렬의 곱셈 입니다 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr Solution import numpy as np def solution(arr1, arr2): answer = [[]] answer = (np.matrix(arr1)*np.matrix(arr2)).tolist() return answer Solution 풀이 numpy의 matrix를 활용하여 각각의 리스트를 행렬로 만들어준 다음 이를 곱한다음 다시 리스트로 변환한 값을 정답으로..

코딩 1일 1문제 오늘의 문제는 프로그래머스의 JadenCase 문자열 만들기 입니다. 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr Solution def solution(s): answer = '' words = s.split(' ') for i in range(len(words)): words[i] = words[i].capitalize() answer = ' '.join(words) return answer Solution 풀이 먼저 입력받은..

코딩 1일 1문제! 오늘의 문제는 2020 카카오 인턴십 문제였던 프로그래머스의 키패드 누르기 입니다! 오늘은 날씨가 좋아 해방촌 남산아래라는 카페에서 따사로운 햇살을 맞으며 문제를 풀어보았습니다. 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr Solution def get_distance(keypad, finger_position, next_number): next_number_position =..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 시저 암호 입니다. 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr Solution def solution(s, n): list_s = list(s) for i in range(len(list_s)): if list_s[i] != " ": if list_s[i].islower(): list_s[i] = chr((ord(list_s[i]) - ord('a') + n) % 26 + ord('a')) elif list_s[i].isuppe..

코딩 1일 1문제 오늘의 문제는 프로그래머스의 예산입니다. 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr Solution def solution(d, budget): answer = 0 use_money = 0 sorted_d = sorted(d) for money in sorted_d: use_money += money if budget < use_money: break answer += 1 return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07...

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 문자열을 정수로 바꾸기 입니다. 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr Solution def solution(s): answer = 0 operator = "+" if s[0] == "-": s = s[1:] answer = int(s) * -1 elif s[0] == "+": s = s[1:] answer = int(s) else: answer = int(s) return answer SOMJANG/CODIN..

코딩 1일 1문제 오늘의 문제는 프로그래머스의 음양 더하기 입니다. 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr Solution def solution(absolutes, signs): answer = 0 for i in range(len(absolutes)): minus = 1 if not signs[i]: minus = -1 answer += minus * absolutes[i] return answer Solution 풀이 signs의 i번째 수가 False 일 경우 absol..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2016년 입니다. 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr Solution import datetime def solution(a, b): answer = '' weekday_list = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"] weekday_info = datetime.datetime(2016, a, b).weekday() answer = weekday_list[w..

코딩 1일 1문제 오늘의 문제는 프로그래머스 서울에서 김서방 찾기 입니다. 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr Solution def solution(seoul): return "김서방은 {}에 있다".format(seoul.index("Kim")) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE dev..

코딩 1일 1문제! 오늘의 문제는 문자열 내림차순으로 배치하기 입니다. 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr Solution def solution(s): answer = '' lowercases = [] uppercases = [] for char in list(s): if char.isupper(): uppercases.append(char) else: lowercases.append(char) if len(uppercases) != 0: uppercases = so..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 정수 내림차순으로 배치하기 입니다. 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr Solution def solution(n): answer = 0 nNumList = sorted(list(str(n)), reverse=True) answer = int("".join(nNumList)) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Cont..

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 자릿수 더하기 입니다. 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr Solution def solution(n): answer = 0 answer = sum(list(map(int, list(str(n))))) return answer SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTES..