본문 바로가기

Python191

[프로그래머스] 나머지가 1이 되는 수 찾기(Python) https://programmers.co.kr/learn/courses/30/lessons/87389 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr def solution(n): for i in range(1,n): if n%i==1: return i 주어진 조건대로 그대로 구현하면 되는 문제다. 2021. 10. 21.
[프로그래머스] 여행 경로(Python) https://programmers.co.kr/learn/courses/30/lessons/43164?language=python3 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 처음 문제를 풀 때는 알파벳 정렬만 따져서 풀어서 일부 문제가 안 풀렸다. 내가 틀리는 유형의 테스트 케이스는 하단과 같다. tickets = [["ICN", "AOO"], ["AOO", "BOO"], ["AOO", "COO"], ["COO", "AOO"], ["BOO", "ZOO"]] answer.. 2021. 10. 21.
[프로그래머스] 네트워크(Python) https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 참고 https://hkim-data.tistory.com/31?category=1016184 #2-3 Python 코딩테스트 그리디 알고리즘 , DFS & BFS https://www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2 https://www.yout.. 2021. 10. 21.
[프로그래머스] 타겟 넘버 (Python) https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 참고 https://hkim-data.tistory.com/31?category=1016184 #2-3 Python 코딩테스트 그리디 알고리즘 , DFS & BFS https://www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0d.. 2021. 10. 21.
#4 Python 코딩테스트 정렬 알고리즘 https://www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4 이 포스팅은 위의 영상을 보고 제가 필요하다고 생각된 부분을 정리한 포스팅입니다. 정렬 알고리즘 - 데이터를 특정한 기준에 따라 순서대로 나열하는 것. 1. 선택 정렬 처리되지 않은 데이터 중 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복 array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)): min_index = i for j in range(i + 1, len(array)): if array[min_index] > array[j]: min_index = .. 2021. 10. 20.
#2-3 Python 코딩테스트 그리디 알고리즘 , DFS & BFS https://www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2 https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3 이 포스트는 위의 영상을 보고 제가 필요하다고 생각된 부분을 정리한 포스팅입니다. 그리디 알고리즘 : 현재 상태에서 지금 당장 좋은 것만 고르는 방법-> 이 방법을 이용했을 때 최적의 해를 구할 수 있는지 검토하는 것이 필요함. 스택 , 큐 : - 스택은 선입 후출 형태 list를 그대로 사용한다. append, pop을 활용. - 큐는 선입선출 형태 from collections.. 2021. 10. 20.
Python 입력 값 다양하게 받기 (input, map, split) Python에서는 input() 메서드를 통해 입력값을 다양하게 받을 수 있다. (보통 실행 창에서 직접 입력함) 하나씩 알아보자. 1. 문자열 입력 단순하게 input 만을 사용하면 문자열을 입력받게 된다. a = input() type(a) print(a) 2. 숫자 입력받기 python 내장 함수인 int()를 활용해서 input 값을 형 변환시켜줘서 숫자를 입력받을 수 있다. a = int(input()) print(type(a)) print(a) 3. split 활용 쪼개서 입력받기 python에는 split 이라는 함수를 제공한다. 간단하게 알아보면 문자열.split(분류조건, 나눌횟수)를 통해 리스트로 return 한다. split의 파라미터를 기본으로 하면 공백(띄어쓰기 탭 등등)을 기반으.. 2021. 10. 19.
[프로그래머스] 약수의 개수와 덧셈 (Python) https://programmers.co.kr/learn/courses/30/lessons/77884# 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr import math def solution(left, right): return sum([-num if int(math.sqrt(num)) == math.sqrt(num) else num for num in range(left,right+1)]) - 제곱수만 약수의 개수가 홀수임을 이용하면 된다. ex) 1.. 2021. 9. 29.
[프로그래머스] 위클리 챌린지 8주차 - 최소직사각형 (Python) https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 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 def solution(sizes): return max(max(x) for x in sizes) * max(min(x) for x in sizes) 최대 중 가장 큰 것 , 최소 중 가장 큰 것 2021. 9. 28.
[프로그래머스] 폰캣몬 (Python) https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr def solution(nums): return min(len(nums)//2, len(set(nums))) 2021. 9. 28.
Python 순열, 조합 (permutations, combinations, product) 파이썬 기본 라이브러리 itertools를 활용해서 여러 조합을 구할 수 있다. num_list = [1,2,3,4] # 순서 상관 있을 경우 from itertools import permutations list(permutations(num_list,2)) list(permutations(num_list,3)) # [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] # [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1).. 2021. 9. 27.
[프로그래머스] 소수 만들기(Python) https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr from itertools import combinations import math def is_prime_number(x): for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: return False return True def solution(nums): prime_candidate = l.. 2021. 9. 27.
[프로그래머스] 음양 더하기(Python) https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 풀이: def solution(absolutes, signs): return sum(list(map(lambda x,y: x if y==True else -x ,absolutes,signs))) 다른 풀이: def solution(absolutes, signs): return sum(absolutes if sign else -absolut.. 2021. 9. 27.
[프로그래머스] 숫자 문자열과 영단어(Python) https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 내 풀이 : def solution(s): number = {'zero':'0','one':'1','two':'2','three':'3','four':'4','five':'5','six':'6','seven':'7','eight':'8','nine':'9'} answer='' temp='' for i in s: if i.isdecimal(): answ.. 2021. 9. 27.
[PostgreSQL] limit, offset limit, offset을 알아보자. LIMIT는 몇 개 불러올건지, OFFSET은 어디부터 불러올건지 -- 처음부터 시작해서 100개 Row 불러오기 SELECT * FROM table LIMIT 100; SELECT * FROM table LIMIT 100 OFFSET 0; -- 101번째부터 시작해서 5개 ROW 반환 SELECT * FROM table LIMIT 5 OFFSET 100; ---참고--- Python 코드에서는 이를 f-string + for loop 통해 활용 가능 (Data chunking) # Python import awswrangler as wr import boto3 def get_df(query): # Anyway, connect to AWS Database throug.. 2021. 9. 17.