본문 바로가기

분류 전체보기

(255)
프로그래머스)[1차] 프렌즈 4블록 https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(m, n, board): answer = 0 arr = [] for i in range(len(board)): a = list(board[i]) arr.append(a) remove_idx = [] def dfs(x,y,char): dx = [0,1,1] dy = [1,0,1] isTrue = True for i in range(3): nx = dx[i] +x ny = dy..
프로그래머스)[3]차 n진수 게임-python https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n_dic1 = { 0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' } def change_10_to_n(n, value): result = '' q, r = divmod(n, value) while q > 0..
*프로그래머스)거리두기 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/81302 쉽게 말하면, 2차원 배열 안에 P를 기준으로 거리가 2 이내에 다른 P가 있는지, 있다면 그 사이에 X가 있는지, O가 있는지 판별하는 문제이다. from collections import deque def bfs(x,y,arr): visit = [[False for _ in range(5)] for _ in range(5)] q = deque() dx = [0,0,1,-1] dy = [1,-1,0,0] visit[x][y] = True q.append((x,y,0)) while q: x, y, distance = q.popleft() if distance > 2: continue if a..
*프로그래머스)[3]차 방금그곡 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import math def sharp(m): m = m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a') return m def solution(m, musicinfos): answer = '' max_time = 0 m = sharp(m) for info in musicinfos: #..
프로그래머스)택배상자 https://school.programmers.co.kr/learn/courses/30/lessons/131704# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(order): answer = 0 stack = [] arr = [i for i in range(1,len(order) + 1)] arr = deque(arr) stack = deque(stack) order = deque(order) while arr: num = arr.popleft() if num == order..
프로그래머스)연속 부부 수열 합의 개수-python https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 제출한 코드 from itertools import permutations def solution(elements): answer = [] for i in range(1,len(elements) + 1): for j in range(len(elements)): if i + j > len(elements): idx = len(elements) - j a = elements[j:] + elem..
프로그래머스)모음사전-pyhton https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from itertools import product def solution(word): arr = ["A","E",'I','O','U'] words = [] for i in range(1,6): for c in product(arr,repeat=i): words.append(''.join(list(c))) words.sort() idx = words.index(word) return idx+1 ..
프로그래머스)시저 암호-python https://school.programmers.co.kr/learn/courses/30/lessons/12926# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s, n): answer = '' for i in s: isLower = False if i == ' ': answer += ' ' else: if i.isupper(): i=i.lower() isLower = True num = int(ord(i)) num = num + n if num > 122: num = 96 + (num - 122) alpha = chr(num) ..