일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQLD / SQLP
- BOJ
- 기초
- 개념
- 기본
- Python
- 공공데이터
- 백준
- 코딩테스트
- 이론
- Codeforces Round #802 (Div. 2)
- GROUP BY 절
- JAVA 11
- 기초100제
- Java11
- SELECT 절
- 단계별로 풀어보기
- pypy3
- programmers
- baekjoon
- Python 3
- 헤드퍼스트 디자인패턴
- 자바
- 응용
- 파이썬
- HAVING 절
- Codeup
- java
- level1
- 명품 자바 프로그래밍
- Today
- Total
목록파이썬 (44)
Development Project
문제 링크 : https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 소요 시간 : 1시간 반 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 256MB 문제 N개의 집(2≤N≤100,000), M개의 길 수(1≤M≤1,000,000), 길 유지비(1≤C≤1,000) 두개의 마을로 분할할때, 나머지 길의 유지비의 최솟값을 출력하는 문제 이해 N개의 집(노드), M개의 길 수(간선), C의 유지비(가중치)이므로,..
문제 링크 : https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 소요 시간 : 최적화 시간까지 합치면 4시간.. 어후 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 1024MB 문제 NxM의 지도(2≤N,M≤20), 이동횟수 K(1≤K≤1,000) 주사위를 (1,1)부터 K번만큼 [문제에서 주어진 조건에 따라 방향을 정하고, 해당방향으로 한칸 이동하여(해당 방향으로 주사위가 넘어지게 함) 주사위를 이동한 뒤, 해당 지점으로..
문제 링크 : https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 소요 시간 : 1시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 512MB 문제 입력값 N(0≤N≤1,000,000) 이해 모든 자릿수가 기준으로 앞의 수보다 뒤의 수가 다 작다면 감소하는 수라고 정의한다. 이때 N번째 감소하는 수를 구하라는 문제이다. 문제 이해는 어렵지 않아보이지만, 감소하는 수가 제한이 생길수 밖에 없다는 것 정도는 분석해야할듯싶다. 한자..
문제 링크 : https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 소요 시간 : 4시간.....ㅎㅎㅎㅎㅎㅎ 문제를 읽고 이해하기 제한 시간 : 2초 메모리 : 128MB 문제 노드의 개수 N개(1≤N≤10,000), 간선의 개수 N-1개 트리의 끝부분(리프노드)를 잡고 쫙 폈을때 가장 긴 길이를 구하는 문제 이해 문제 이해는 어렵지 않았는데, 문제에서 예시로 준 그림이 왜 45가 되는지 분석하지않고 문제에 바로 접근해서 많이 삽..
문제 링크 : https://www.acmicpc.net/problem/2610 2610번: 회의준비 첫째 중에 회의에 참석하는 사람의 수 N이 주어진다. 참석자들은 1부터 N까지의 자연수로 표현되며 회의에 참석하는 인원은 100 이하이다. 둘째 줄에는 서로 알고 있는 관계의 수 M이 주어진다. 이 www.acmicpc.net 소요 시간 : 2시간 문제를 읽고 이해하기 제한 시간 : 1초 메모리 : 128MB 문제 회의에 참석하는 사람의 수(1≤N≤100), 서로 알고있는 관계의 수 M (관계이니까 최대 N-1개임) 서로 알고있는 사람은 같은위원회에 속해야하고, 위원회의 수는 최대가 되어야함 위원회마다 대표가 한명씩 있는데 각 위원회 회원들이 대표에게 의견전달이 가장 효율적으로 될수있도록 대표를 선정하는..
15649 : N과 M(1) def solve(depth, N, M): if depth==M: print(' '.join(map(str,out))) return else: for i in range(len(visited)): if not visited[i]: visited[i]=True out.append(i+1) solve(depth+1,N,M) visited[i]=False out.pop() N,M=map(int,input().split()) visited=[False]*N out=[] solve(0,N,M) 15650 : N과 M(2) N,M=map(int,input().split()) out=[] def solve(start): if len(out)==M: print(' '.join(map(str..
5086 : 배수와 약수 while True: a,b=map(int,input().split()) if a==0 and b==0: break print("factor" if b%a==0 else ("multiple" if a%b==0 else "neither")) 1037 : 약수 n=int(input()) l=list(map(int,input().split())) l.sort() print(l[0]*l[-1]) 2609 : 최대공약수와 최소공배수 l=list(map(int,input().split())) lcf=1;ok=0 minVal=min(l) for i in range(2,minVal+1): while True: if l[0]%i==0 and l[1]%i==0: lcf*=i l[0]//=i l[1..
1085 : 직사각형에서 탈출 x,y,w,h=map(int,input().split()) print(min([abs(x-w),abs(y-h),abs(x),abs(y)])) 3009 : 네 번째 점 l=[] for _ in range(3): l.extend(map(int,input().split())) odd=l[0::2] even=l[1::2] print(min(odd) if odd.count(min(odd))==1 else max(odd), min(even) if even.count(min(even))==1 else max(even)) 4153 : 직각삼각형 while True: l=list(map(int,input().split())) if l[0]==0 and l[1]==0 and l[2]==0: ..
10815 : 숫자 카드 import sys n = int(sys.stdin.readline().strip()) getNum = set(map(int,sys.stdin.readline().split())) m = int(sys.stdin.readline().strip()) checkNum = list(map(int,sys.stdin.readline().split())) for i in checkNum: if i in getNum: print(1) else: print(0) # import sys N = int(sys.stdin.readline().rstrip('\n')) numbers = set(map(int, sys.stdin.readline().rstrip('\n').split())) M = int(..
2750 : 수 정렬하기 n=int(input()) l=[int(input()) for _ in range(n)] for i in range(n): print(sorted(l)[i]) 2751 : 수 정렬하기 2 import sys arr=[int(sys.stdin.readline().rstrip()) for i in range(int(input()))] arr.sort() for i in arr: sys.stdout.write(str(i)+'\n') 10989 : 수 정렬하기 3 from sys import stdin input = stdin.readline().strip N = int(input()) numbers = [] for i in range(10001): numbers.append(0) fo..
2798 : 블랙잭 from itertools import combinations a,b=map(int,input().split()) l=list(map(int,input().split()))[0:a] max=0 for i in list(combinations(l,3)): s=i[0]+i[1]+i[2] if s
10872 : 팩토리얼 def factorial(n): if n==0 or n==1: return 1 return n*factorial(n-1) print(factorial(int(input()))) 10870 : 피보나치 수 5 def fib(num): if num=k+1: print(f'{"____"*k}"재귀함수가 뭔가요?"\n{"____"*k}"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n{"____"*k}마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n{"____"*k}그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."') st(k+1,n) print(f'{"____"*k}라고..
1978 : 소수 찾기 n=int(input()) l=list(map(int,input().split())) cnt=0 for i in l[:n]: if i==1: continue ok=0 for j in range(1,i+1): ok+=1 if i%j==0 else 0 cnt+=1 if ok==2 else 0 print(cnt) 2581 : 소수 m,n=int(input()),int(input());num=m;l=[] while num>=m and num
1712 : 손익분기점 a,b,c=map(int, input().split()) print(-1 if b>=c else a//(c-b)+1) # a,b,c=map(int, input().split());print(-(b>=c)or a//(c-b)+1) 2292 : 벌집 n=int(input()) sum=1 for i in range(1,n+1): if sum>=n or n==1: print(i) break sum+=6*i # n = int(input()) a = 1 b = 1 while n > a: a += 6*b b+=1 print(b) 1193 : 분수찾기 a = int(input()) b=0 while a>0: b+=1 a-=b a+=b b+=1 if b%2==0: print(f"{b-a}/{a}"..
10818 : 최소, 최대 numberOf = int(input()) nums = list(map(int, input().split())) min=nums[0] max=nums[0] for i in range(1, numberOf): min = nums[i] if nums[i]max else max print(min, max) # num = int(input()) nums = list(map(int,input().split())) print(min(nums),max(nums)) 2562 : 최댓값 num1 = int(input()) cnt=1 for i in range(8): num2 = int(input()) if num10: ans+=1 print(ans) 1546 : 평균 n = int(input(..
6031 : [기초-값변환] 정수 입력받아 유니코드 문자로 변환하기(설명)(py) - 10진 정수 1개를 입력받아 유니코드 문자로 출력해라 a = int(input()) print(chr(a)) 》 chr( )는 정수값→문자, ord( )는 문자→정수값 형태로 바꿔줌을 기억하자 6032 : [기초-산술연산] 정수 1개 입력받아 부호 바꾸기(설명)(py) - 입력된 정수의 부호를 바꿔 출력해라 a=int(input()) print(-a) 》 a의 부호를 바꾸기 위해선 0-a 즉, -a이다. 6033 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기(설명)(py) - 문자 1개를 입력받아 그 다음 문자를 출력해라 a=ord(input()) print(chr(a+1)) 》 6030번과 같은 내용이다..
데이터 출처 : https://www.kaggle.com/nicapotato/womens-ecommerce-clothing-reviews Women's E-Commerce Clothing Reviews 23,000 Customer Reviews and Ratings www.kaggle.com [Project 1] 의류 판매 상품 리뷰 분석을 통한 상품 추천 여부 예측 데이터 읽기 데이터 불러오기 import import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 불러오기 [ read_csv("경로") ] # Womens Clothing E-Commerce Reviews(수정).csv 데이터를 p..
=> 한국교통안전공단에서 제공한 2020년 자동차 결함 리콜 데이터를 활용하여 유의미한 패턴 및 인사이트를 발굴하고 시각화하는 실습 데이터 출처 : https://www.data.go.kr/data/3048950/fileData.do 한국교통안전공단_자동차결함 리콜현황_20201231 자동차의 리콜현황에 대한 데이터로 제작자, 차명, 생산기간(From), 생산기간(To) 리콜사유 등의 항목을 제공합니다. www.data.go.kr [Project 3] 자동차 리콜 데이터 분석 데이터 읽기 데이터 불러오기 import import numpy as np import pandas as pd import matplotlib.pyplot as plt !pip install seaborn==0.9.0 import ..
데이터 출처 : http://data.seoul.go.kr/dataList/OA-12252/S/1/datasetView.do 열린데이터광장 메인 데이터분류,데이터검색,데이터활용 data.seoul.go.kr [Project 1] 지하철 승하차 인원 정보를 활용한 역별 혼잡도 분석 데이터 읽기 데이터 불러오기 import import numpy as np import pandas as pd import matplotlib.pyplot as plt 불러오기 [ read_csv("경로") ] metro_all = pd.read_csv("./data/서울시 지하철 호선별 역별 시간대별 승하차 인원 정보_20210705.csv", encoding = '..
데이터 출처 : https://www.data.go.kr/tcs/dss/selectFileDataDetailView.do?publicDataPk=15063273 서울특별시_코로나19 확진자 현황_20210422 서울특별시 코로나19 자치구별 일자별 확진자 현황에 대한 데이터로 연번, 확진일, 지역, 여행력, 접촉력, 등록일 등의 항목을 제공합니다. www.data.go.kr [Project 1] 코로나 데이터 분석 데이터 읽기 데이터 불러오기 import import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 불러오기 [ read_csv("경로") ] corona_all = pd.read_csv..