python

1. 평행 문제 설명 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 나의 풀이 def solution(dots): if (dots[0][0]-dots[1][0]) / (dots[0][1]-dots[1][1]) == (dots[2][0]-dots[3][0]) / (dots[2][1]-dots[3][1]): return "1" elif (dots[0][0]-dots[2][0]) / (dots[0][1]-dots[2][1]) == (dots[1][..
1. 옹알이 (1) 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 나의 풀이 def solution(babbling): list = ["aya","ye","woo","ma"] result = 0 for b in babbling: for l in list: if l in b: b = b.replace(l,"_") b = b.replace("_","") if len(b) == 0: result +=..
1. 대충 만든 자판 문제 설명 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 ..
· Project
이전 내용과 이어집니다. 이전내용이 보고싶으시다면 클릭 연도별 지역의 관심도 추이 분석 ① 데이터 전처리 2021-2023 년의 11개 시도의 여행 관심도 평균값의 추이를 비교하기 위해 연도로 그룹화하여 각각 시도 관심값의 평균값을 구하여 데이터 프레임을 만들었습니다. # 기준년도별 지역별 관심도의 평균값이 필요 df_temp = pd.DataFrame() for col in df.columns[6:18]: df_temp[col] = df[col] df_temp = df_temp.groupby("기준년도",as_index=False).mean() df_temp ▶ 각 시도의 여행관심값과 기준년도를 넣은 데이터프레임 df_temp를 for문을 통해 만든 후 기준년도로 그룹화한 뒤에 mean() 을 통해 평..
1. 가장 가까운 같은 글자 문제 설명 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다.n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다.a는 자신보다 두 칸, 네..
문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건..
· Project
데이터 수집 국내 여행지역에 대한 관심도를 분석해봤습니다. 데이터는 문화 빅데이터 플랫폼에서 무료로 제공해주는 국내 여행지역 관심도 분석 데이터를 가져왔습니다. https://www.bigdata-culture.kr/bigdata/user/main.do 문화빅데이터 플랫폼 한국문화정보원이 운영하는 문화빅데이터 플랫폼은 공공기관 및 민간기업으로 구성된 데이터센터와 함께 도서, 체육, 예술, 숙박, 레저, 음식 등 고품질의 문화 분야 데이터를 개방하고 데이터 www.bigdata-culture.kr csv 파일로 다운로드 받은 데이터의 컬럼 정의서입니다. 우선 csv 파일 한 건을 데이터 프레임에 담아봤습니다. 판다스 라이브러리를 사용하였습니다. import pandas as pd file_path = '...
1. 외계어 사전 문제 설명 PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 예시 solution(["z", "d", "x"],["def", "dww", "dzx", "loveaw"]) >>> 1 나의 풀이 def solution(spell, dic): cnt = 0 list= [] for d in dic: for s in spell: if s in d: cnt+=1 else: list.append(cnt) cnt = ..
문제 설명 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력이 2인 무..
문제 설명 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다.상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만들어 판매하여 최대 이..
· DB
이제까지 배운 내용을 토대로 데이터를 받아와서 처리하는 실습을 진행하였다. 데이터는 국가 교통 데이터 오픈마켓에서 데이터를 사용하였다. 80개의 파일을 받아서 이를 하나의 데이터 파일로 합친 후에 진행해야한다. 따라서 한 건의 데이터 샘플링을 실행하고 이를 80개의 파일에 적용하는 순서로 수행하였다. 한 건의 데이터 샘플링 ⓛ 라이브러리 정의 및 데이터 읽어들이기 # 라이브러리 정의 import pandas as pd # 0번 파일의 csv 데이터 읽어들이기 # 데이터 프레임 이름 : df_bus_card_org # 파일 경로 지정 file_path = "./01_data/org/trfcard(0)/trfcard.csv" df_bus_card_org = pd.read_csv(file_path) df_bu..
· DB
데이터 조회 이전 포스팅 내용과 이어진다. 조회건이 여러건인 경우 rows = cur.fetchall() rows ▶ fetchall() 전체 받아오기 ymd_power_df = pd.DataFrame(rows) # - 컬럼명 없이 받아온 경우 # ymd_power_df = pd.DataFrame(rows,columns=["ymd","time","power"] ymd_power_df 조회건이 한 건인 경우 ### 한건 조회를 위한 sql 구문 생성하기 sql = """ Select * From time_power_demand Where ymd = '2021-01-01' And time = '1시' """ sql ### SQL 구문을 DB서버에 요청하고, 결과 받아오기 cur.execute(sql) ###..
s2h15
'python' 태그의 글 목록