Python 프로그래머스 : 기둥과 보 설치
·
Algorithm/python 프로그래머스
🐹문제 https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 위 그림과 같이 기둥과 보를 설치한다.아래 규칙에 맞게 설치, 제거되어야한다.기둥은 바닥 위에 있거나 보의 한쪽 끝 부분 위에 있거나, 또는 다른 기둥 위에 있어야 합니다.보는 한쪽 끝 부분이 기둥 위에 있거나, 또는 양쪽 끝 부분이 다른 보와 동시에 연결되어 있어야 합니다.마지막에 어떤 구조물이 남는지 출력하면 된다.  🐹풀이보와 기둥 설치, 삭제 모두 진행후, 유효한지 is_ok함수를 통해 확인한다. def is_ok(wall):..
파이썬 가상 환경 : venv
·
카테고리 없음
🤔 현재 깔려있는 파이썬은 3.8버전인데 새로 만드는 폴더만 3.10에서 돌아가게 하고 싶으면 어떻게 하는게 좋을까?답은 바로 가상 환경을 사용하는 것이다!😊 🐹가상 환경이란?가상 환경(Virtual Environment)은 파이썬 프로젝트별로 독립적인 환경을 제공하는 도구이다.이 독립적인 환경은 다른 프로젝트와 분리된 파이썬 인터프리터와 패키지를 사용하게 해준다. 이를 통해 각 프로젝트가 서로 영향을 주지 않도록 설정할 수 있다! 🐹왜 사용해야 할까?위의 예시처럼 특정 프로젝트 별로 다른 버전이 필요할때 사용한다. 파이썬이 아니더라도, 다른 패키지 간의 충돌을 막을 수 있다.예를 들어, A 프로젝트에서는 numpy==1.19.5가 필요하고, B 프로젝트에서는 numpy==1.21.0이 필요할 수..
[SW Expert Academy] 20936. 상자 정렬하기
·
코테공부
문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AY9QUhl6cfQDFAVF SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com비어있는 자리(X)로 상자들을 이동하면서, 정렬하는 문제이다!  🎁 풀이처음에 어떤 순서로 옮겨야할지 고민했는데, " 이러한 방법을 아무거나 하나 구하는 프로그램" 으로 명시되어있어서,왼쪽부터 정렬되지 않은 첫번째 상자를 X로 바꾼후, 그 자리를 sort하는 식으로 풀었다. T=int(input())for _ in range(T): N=int(input()) n_list=list(map(..
파이썬 백준 1941번: 소문난 칠공주
·
Algorithm/python 백준
문제https://www.acmicpc.net/problem/1941   👸풀이DFS로는 십자모양으로 탐색할수 없다. 따라서 조합할 수 있는 모든 경우를 만들어 놓고, 이들의 조건이 문제와 맞는지 확인했다. 정답 조건은 아래와 같다. 1. 모든 원소가 인접해 있을 것2. 원소의 수가 7일것2. 이다솜파가 4명이상일것 from itertools import combinationsfrom collections import dequeimport sysprincess=[]answer=0for _ in range(5): temp=list(sys.stdin.readline().strip()) princess.append(temp)dx=[-1,1,0,0]dy=[0,0,-1,1]positions = [(i..
파이썬 백준 2839번: 설탕배달
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 문제는 3과 5로 만들 수 있는 숫자일 경우, 5를 최대한 많이 가져가는 것이 좋다! 따라서 N이 5의 배수일때는 그의 몫만큼 모두 봉지를 가져가도록 한다. N이 5의 배수가 아니라면 5의 배수가 될때까지 N에서 3을 빼면서 5의 배수인지 확인한다. import sys N=int(sys.stdin.readline()) #설탕의 무게 cnt=0 # 봉지의 개수 while(N>=3): if N%5==..
파이썬 백준 2606번 : 바이러스 -DFS, BFS
·
Algorithm/python 백준
문제https://www.acmicpc.net/problem/2606<figure id="og_1712031288254" contenteditable="false" data-ke-type="opengraph" data-ke-align="alignCenter" data-og-type="website" data-og-title="2606번: 바이러스" data-og-description="첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 ..
파이썬 백준 1260 : DFS와 BFS
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 풀이 단순히 BFS,DFS를 구현해서 출력하면 된다. import sys from collections import deque def DFS(Graph, V, visited): visited[V] =True print(V,end=' ') for i in Graph[V]: if not visited[i]: DFS(Graph,i,visited) def BFS..
파이썬 백준 1654번: 랜선 자르기
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 풀이 적절한 값을 찾을때까지 이진 탐색을 수행하여 랜선의 최대 길이를 반복해서 조정하면 된다 큰 탐색범위를 보면 가장 먼저 이진탐색을 떠올려야한다! import sys K,N =map(int,sys.stdin.readline().split(' ')) LAN=[] for _ in range(K) : LAN.append(int(sys.stdin.readline()))..
파이썬 백준 10814 : 나이순 정렬
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 풀이 단순히 이차원 리스트로 입력받고 출력하면 된다! N = int(input()) people_list = [] for _ in range(N): temp = input() age = int(temp.split(' ')[0]) name = temp.split(' ')[1] people_list.append((age, name)) people_list.sort(key = lambda x : x[0..
파이썬 백준 2751: 수 정렬하기
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 input으로 입력받았더니 시간초과가 났다. readline으로 변경해서 풀었다. import sys N = int(sys.stdin.readline()) A=[] for _ in range(N): A.append(int(sys.stdin.readline())) result=sorted(A) for i in range(N): print(result[i]) 덧) input과 r..
✿(๑❛ڡ❛๑)✿
'PYTHON' 태그의 글 목록