문제풀이 324

[프로그래머스][Lv1] - 숫자 문자열과 영단어(Python)

def solution(s): answer = '' a = ['zero', 'one', 'two', 'three','four','five','six','seven','eight','nine'] for key,values in enumerate(a): if values in s: s=s.replace(values,str(key)) answer = s return int(answer) a = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"} def solution(s): answer = s for key,values in a.items(): a..

[프로그래머스][Lv1] - 로또의 최고 순위와 최저 순위(Python)

def solution(lottos, win_nums): answer = [] lottos.sort() win_nums.sort() cnt = 7 zero = maxrank = minrank = 0 for i in lottos: if i in win_nums: cnt -= 1 elif i == 0: zero += 1 if zero == 6: maxrank = 1 else: maxrank = cnt-zero if zero == 6: minrank = 6 else: minrank = cnt answer.append(maxrank) answer.append(minrank) return answer # 1개의 테스트 케이스 빼고 성공했다. 어디가 잘못된 걸까. def solution(lottos, win_num..

[프로그래머스][Lv1] - 신규 아이디 추천(Python)

import re def solution(new_id): answer = '' # 1단계 & 2단계 : 소문자 치환 answer = re.sub('[^a-z\d\-\_\.]', '', new_id.lower()) # 3단계 : 마침표 2번 이상 > 하나로 answer = re.sub('\.\.+', '.', answer) # 4단계 : 양 끝 마침표 제거 answer = re.sub('^\.|\.$', '', answer) # 5단계 : 빈 문자열이면 a 대입 if answer == '': answer = 'a' # 6단계 : 길이가 16자 이상이면 1~15자만 남기기 & 맨 끝 마침표 제거 answer = re.sub('\.$', '', answer[0:15]) # 7단계 : 길이가 3이 될 때까지 반..

[백준][DFS/BFS] 2178. 미로 탐색 (파이썬/Python)

import sys input = sys.stdin.readline n,m = map(int,input().split()) matrix = [] for _ in range(n): matrix.append(list(input())) #방문한 경로를 저장하기 위함 전부 0으로 만들어 일단은 모두 방문하지 않은 것으로 처리 visited = [[0]*m for _ in range(n)] # 상하좌우 방향을 넣어줌 dx = [-1,1,0,0] dy = [0,0,-1,1] #BFS는 거리를 구할 때 자주 사용되는 탐색 기법 #queue 방식을 사용해서 쓰는 것이 일반적 queue = [[0,0]] visited[0][0] = 1 #시작지점 1로 만들어 사용 while queue: x,y = queue.pop(0)..

[백준][동적 계획법1] 9507. Generations of Tribbles (파이썬/Python)

import sys input = sys.stdin.readline def koong(n): if n 3: return koong(n-1)+koong(n-2)+koong(n-3)+koong(n-4) t = int(input()) for _ in range(t): n=int(input()) print(koong(n)) # 큰 수를 넣어야 하기 때문에 시간초과가 나온다. # 동적 계획법으로 풀어야 한다. import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n = int(input()) dp = [1,1,2,4]..