프로그래머스 | 게임 맵 최단거리 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import deque def solution(maps): n, m = len(maps), len(maps[0]) queue = deque() queue.append((0, 0)) # 시작 위치 큐에 추가 # 상하좌우 dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] # BFS while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] # nx, ny가 maps 범..
프로그래머스 | 기능개발 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한 시간 동안 이 방법 저 방법을 해봐도 해결하지 못해서 '맨 앞 작업을 기준으로 판단하면 된다.'는 힌트를 보고 정답 코드를 작성할 수 있었다. 첫 번째 예시인 progress=[39, 30, 55], speeds=[1, 30,5] 일 때 과정을 설명하면 다음과 같다. 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있지만, 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포돼야 한다는 조건이 존재한다. 따라서 앞에 있는 기능부터 배포되어야 하므로, pro..
프로그래머스 | 2022 KAKAO BLIND RECRUITMENT | 주차 요금 계산 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from datetime import datetime import math def solution(fees, records): answer = {record.split()[1]:0 for record in records} # 차량번호:누적시간 car = {} # 차량번호:입차시간 for record in records: time, car_num, inout = record.split() if inout == 'IN': # IN이면 딕셔너리 car에 입차시간 기록 car[car_num] = datetime..
프로그래머스 | 2019 KAKAO BLIND RECRUITMENT | 오픈채팅방 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(record): answer = [] # 채팅방 기록 id_name = {} # 유저 아이디: 닉네임 for i in record: if 'Enter' in i: id_name[i.split()[1]] = i.split()[2] answer.append('+' + i.split()[1]) elif 'Change' in i: id_name[i.split()[1]] = i.split()[2] else: answer.append('-' + i.split()[1]) for i in ran..
프로그래머스 | 2018 KAKAO BLIND RECRUITMENT | [1차] 뉴스 클러스터링 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(str1, str2): str1 = str1.upper() str2 = str2.upper() # 다중집합 구하기 A, B = [], [] for i in range(len(str1)-1): str = str1[i:i+2] # 두글자씩 끊어 if str.isalpha(): # 영문자로 된 글자만 다중집합의 원소로 만듦 A.append(str) for i in range(len(str2)-1): str = str2[i:i+2] # 두글자씩 끊어 if str.isalpha..
프로그래머스 | 행렬의 곱셈 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 행렬곱에 대한 이해가 있어야 문제를 해결할 수 있으므로, 행렬곱에 대한 자세한 내용은 여기를 참고하길 바란다.두 행렬 arr1, arr2의 크기가 각각 m×n, n×r 일 때, arr1의 열과 arr2의 행의 크기가 같을 때만 행렬의 곱셈이 가능하다.arr1과 arr2 곱셈 결과 나오는 행렬의 크기는 m×r이다. 코드 - 방법 1)def solution(arr1, arr2): answer = [] m, n, r = len(arr1), len(arr1[0]), len(arr2[0]) for i in range(m)..