[python] 프로그래머스 - 3 진법 뒤집기
·
파이썬/프로그래머스
문제 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 문제풀이 divmod 함수를 사용하여 계속해서 n을 3으로나누고 나머지를 three 문자열에 추가해주고 int()함수의 Base를 이용하여 10진법으로변환 해준다. 코드 def solution(n): three = '' # 3진법 변환 while n>2 : n,m = divmod(n,3) three += str(m) thre..
[python] 프로그래머스 - 큰 수 만들기
·
파이썬/프로그래머스
문제 programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문제풀이 앞에 있는 숫자들을 candidate 리스트에 하나씩 넣는다. k> 0 일 때 현재 num 보다 작은숫자가 candidate에 들어있다면 하나씩 빼준다. (숫자의 크기는 앞자리가 가장 중요하기 때문이다.) 코드 def solution(number, k): answer = '' candidate = [] for i,num in enumerate(number): # candidate가 비어있지 않고, candidate에 num보다 작은 숫자가 있다면 pop while candidate and candidate[-1] 0..
[python] 백준 -최단 경로
·
파이썬/백준
문제 www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 문제 풀이 다익스트라 알고리즘을 이용하여 각 노드의 최단 거리를 구해주면 된다. 코드 import collections import heapq V,E = map(int,input().split()) K = int(input()) # 그래프 생성 graph = collections.defaultdict(list) for _ in range(E): u,v,w = map(int,inp..
[python] 백준 -줄세우기
·
파이썬/백준
문제 www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1≤N≤32,000), M(1≤M≤100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이 www.acmicpc.net 문제풀이 답이 여러개 이기때문에 위상정렬을 해주는 것 말고는 딱히 어려운 부분이 없다 코드 from collections import deque import collections v, e = map(int,input().split()) #진입차수 처리할 리스트 indegree = [0] *(v+1) #그래프 생성 graph = collections.defaultdict(li..
[python] 백준 -잃어버린 괄호
·
파이썬/백준
문제 www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 풀이 그리디 알고리즘 문제로 +연산을 먼저처리하고 - 연산을 처리해주면 된다. 1. 숫자와 문자 를 분리하여 저장. 2. 문자중 +먼저 처리 3. +처리 후 -처리 코드 s =input() nums = [] num = '' # 숫자 문자 분리 for char in s: if char.isdigit(): num+=char else: nums.append(int(num)) num = '' nums...
[python] 백준 -가장 긴 단어
·
파이썬/백준
문제 www.acmicpc.net/problem/5637 5637번: 가장 긴 단어 단어는 알파벳(a-z, A-Z)과 하이픈(-)으로만 이루어져 있다. 단어와 다른 문자(마침표, 숫자, 심볼, 등등등...)로 이루어진 글이 주어졌을 때, 가장 긴 단어를 구하는 프로그램을 작성하시오. Apple의 www.acmicpc.net 문제풀이 정규표현식을 이용하여 알파벳과 '-' 을 제외한 문자를 제거하고 단어들을 길이에 따라 정렬해준다. 마지막단어가 'E-N-D'가 될때까지 반복. 코드 import re words = [] while True: words.extend(input().split()) if words[-1] =='E-N-D' : break words = [re.sub('[^a-z-]','',x.low..
ariz1623
'python' 태그의 글 목록 (4 Page)