본문 바로가기

ALG

(48)
[Python] Lambda(람다) 표현식 💡 Lambda 표현식 람다 표현식은 익명 함수를 만드는 방법이다. def를 사용하여 함수를 만드는 것과 달리 lambda를 통해 만든 함수는 이름이 따로 없다. 즉, 호출 과정을 거치지 않아 다른 함수의 인수로 넣을 때 자주 사용한다. 표현식은 다음과 같다. lambda 인수:표현식 인수를 여러개 넣을 수 있으며 표현식에는 반드시 lambda 내의 인수만 사용 가능한다. 예시 람다 표현식으로 간단한 덧셈 함수를 만들어 보면 add3 = lambda x:x+3 add3(1) # 실행 결과 # 4 람다 표현식은 변수에 할당해주지 않으면 호출할 수 없기에 add3라는 변수에 할당하였다. add3(1)을 실행한 결과, input 1에 3을 더한 4가 반환된다. 람다 표현식은 map, sort 등 다른 함수들과..
[Python] join 함수 💡 join 함수 join 함수는 input으로 들어온 리스트를 합쳐주는 함수이다. 함수의 형태는 다음과 같다. '구분자'.join([리스트]) 실행 결과, 리스트 안의 요소들을 구분자를 사용해 하나의 string으로 반환해준다. 예시 list = ['j', 'o', 'i', 'n'] str = ''.join(list) # 출력 결과 # join list2 = ['j', 'o', 'i', 'n'] str2 = ','.join(list) # 출력 결과 # j,o,i,n 구분자로 개행문자도 사용이 가능하다. (\n, \t 등) 알고리즘 문제를 풀다보면 join함수를 이용해 int 자료형을 이어붙이는 경우도 종종 있는데 아래 코드와 같이 사용하면 된다. numbers = [3, 13, 42, 51] n = ..
[Python] 가장 큰 수 (프로그래머스) 문제 링크 : 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 💡 풀이 # 처음 풀이 de..
[Python] 단속카메라 (프로그래머스) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이상 10..
[Python] 구명보트 (프로그래머스) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보..
[Python] 이중우선순위큐 (프로그래머스) 문제 링크 :https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. o..
[Python] 더 맵게 (프로그래머스) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는..
[Python] 다리를 지나는 트럭 (프로그래머스) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42583 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 따라서, 모든 트럭이 다리를 지나려면 최소 ..