728x90

python 스택 3

[백준/BOJ] gold3 - 2812번 크게 만들기

▶2812 - 크게 만들기 ▶문제N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. ▶입력첫째 줄에 N과 K가 주어진다. (1 ≤ K 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다. ▶출력입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다.▶풀이Stack을 사용하는 문제로 지난번에 풀었던 17298 - 오큰수와 거의 비슷한 문제이다.문제풀이 방법 자체가 동일하다고 생각해도 무방하다.2024.10.05 - [BOJ Code/Gold] - [백준/BOJ] gold4 - 17298번 오큰수 [백준/BOJ] gold4 - 17298번 오큰수▶17298 - 오큰 ▶문제크기가 N인 수열 A = A1, A..

BOJ Code/Gold 2024.10.05

[백준/BOJ] gold4 - 17298번 오큰수

▶17298 - 오큰 ▶문제크기가 N인 수열 A = A1, A2,..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다.예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. ▶입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2,..., AN (1 ≤ ..

BOJ Code/Gold 2024.10.05

[Programmers] level2 - 짝지어 제거하기 (Python) : 2017 팁스타운

▶짝지어 제거하기 - 2017 팁스타운 (level 2) ▶문제 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. ▶제한사항 문자열의 길이 : 1,000,000 ..

728x90