본문 바로가기

Python 알고리즘 공부/백준 알고리즘 공부8

가장 가까운 같은 글자 (python) https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 .. 2023. 5. 22.
9935: 문자열 폭발 (python) https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net # 9935 # 문자열 폭발 from collections import deque string = input() popping_string = list(input()) last_ch = popping_string[-1] que = deque([]) for i in range(len(string)): if string[i] == last_ch and len(que) >= len(pop.. 2023. 3. 23.
11718: 그대로 출력하기 (python) https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net https://www.acmicpc.net/board/view/28332 글 읽기 - ★☆★☆★ [필독] 그대로 출력하기 FAQ ★☆★☆★ 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net 해당 글과 다른 블로그들을 통해 얼마만큼의 입력이 들어오는지 모르는 상황에서 프로그램을 종료하는 방법을 찾아보았다. 1. try except로 예외 처리 while True: .. 2023. 3. 23.
2447: 별 찍기 - 10 (python) https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 재귀를 이용하여 별을 규칙적으로 출력하는 문제이다. 별을 출력하기 위해 아래와 같은 함수을 생각했다. - 먼저, 주어진 n을 이용하여 원소 모두가 ' '(공백)인 n * n 이차원 배열을 정의한다. - 함수는 이차원 배열 중 확인할 부분의 제일 왼 & 위쪽의 인덱스인 row, col, 그리고 확인할 범위인 length를 전달받는다. 1. 만약 length가 1이면 이차원.. 2023. 1. 14.