0️⃣ Algorithm&자료구조(51)
-
[Programmers] 구명보트 - Python
1. 문제 설명 2. 제한 조건 & 입출력 예 3. 시행착오 뭔가 정렬을 하면 안 될 것 같았다. 살짝 뻔하다고 생각해서. 3.1. 첫 번째 접근. Stack에 Limits 뺀 값을 저장하고 대조 for 문을 돌려서 Stack의 수보다 작으면 빼는 식으로 Stack의 요소 수를 늘렸다. 하지만 이 방법은 보트에 2명을 태운다는 조건을 지키지 못했으므로 정답이 아니었다. # Method 1. def solution(people, limit): stack = [100] for one in people: n = 0 for i in range(0, len(stack)): if one 0: if n_list[subs - i] > 0: n_list[subs - i] -= 1 n_list[n] -= 1 count +..
2023.10.07 -
[Programmers] 큰 수 만들기 - Python
1. 문제 설명 2. 제한 조건 & 입출력 예 3. 시행착오 3.1. 첫 번째 접근. 단순 정렬 혹시나 하는 마음으로, 그냥 정렬하고 앞부터 끊었다. 당연히 정답이 아니었다. 3.2. 두번째 접근. i와 i+1의 비교 i번째 수와 i+1번째 수를 비교하고, i+1 번째 수가 더 크면 i번째 수를 제거하는 방식으로 문제를 풀었다. 이 경우, 4177252841, 4 이렇게 주어졌을 때, 정답이 77841이 나왔다. 즉, 무조건 큰 수를 살린다고 결괏값이 커지는 것은 아니란 이야기다. 3.3. 세번째 접근. K를 범위로 하여 Number를 자르고, 그 안에서 최고값 살리기 Step 1과 Step 2로 나누어, 맨 앞자리 숫자를 확정하는 단계가 그 뒤에 숫자들을 정해 가는 단계로 나눠 진행했다. 테스트 10에..
2023.10.05 -
[BOJ/미해결] #2667번: 단지 번호 붙이기👿
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고..
2022.08.01 -
[BOJ/Python] #1012번: 유기농 배추
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어,..
2022.07.31 -
[BOJ/Python] #1541번: 잃어버린 괄호
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이..
2022.07.29 -
[BOJ/Python] #1715번: 카드 정렬하기
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 문제 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. 매우 많은 숫자 카드 묶음이 책상 위에 놓여 있다. 이들을 두 묶음씩 골라 서로 합쳐나간다면, 고르는 순서에 따라서 비..
2022.07.28