1. 문제 설명(달리기 경주) https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # list.index()를 활용해서 풀면 시간초과 발생하여 실패 # 딕셔너리의 키:값을 활용 def solution(players, callings): position = {} for i,j in enumerate(players): position[j] = i # 인덱스(순서)를 값으로 줌 for k in callings: index = position[k] if..
1. 문제 설명 정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요. # in 연산자 활용하기 def solution(num_list,n): if n in num_list: return 1 else: return 0 2. 문제 설명 정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요. # math.prod(list): 리스트 내 요소 곱 import math def solution(num_list): if len(num_list) >= 11: re..
구현 Q https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net A 구현이므로 문제에 잘 읽고 해당하는 코드만 짜면 되었다. 리스트를 여러 개로 나누는 것이 편하게 풀 수 있는 방법이었다. 나의 코드 n = int(input()) m = int(input()) friend = [] near = [] array = [0]*m for i in range(m): a, b = map(int, input().split()) if a >= b: a..
LIS 알고리즘 Q www.acmicpc.net/problem/18353 18353번: 병사 배치하기 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다. www.acmicpc.net A LIS 알고리즘을 사용하여야 쉽게 풀린다. 대신, 문제에서 내림차순으로 주어지기 때문에 sort로 오름차순 정렬하는게 편리하다. 나의 코드 n = int(input()) array = list(map(int, input().split())) from bisect import bisect_left, bisect_right dp = [array[0]] array.reverse() ..