1. 문제설명문제 URL : https://www.acmicpc.net/problem/1343 이 문제는 주어진 문자열에서 ‘X’로 이루어진 모든 부분을 ‘AAAA’ 또는 ‘BB’로 대체하는 문제입니다. ‘X’를 덮을 수 있는 방법은 두 가지뿐이며, 4개의 연속된 ‘X’는 ‘AAAA’로, 2개의 연속된 ‘X’는 ‘BB’로 변환할 수 있습니다. 그 외의 경우에는 덮을 수 없기 때문에 불가능한 경우를 처리해야 합니다. 예를 들어, 입력이 “XX….XXXX”일 경우, 가능한 변환은 “BB….AAAA”입니다. 만약 덮을 수 없는 패턴이 존재할 경우, -1을 출력합니다.2. 정답코드import sysinput = sys.stdin.readline# 보드를 입력받아 리스트로 변환board = list(input()..
파이썬
1. 문제설명문제URL : https://www.acmicpc.net/problem/1748 이 문제는 1부터 N까지의 모든 숫자를 이어서 썼을 때, 그 숫자의 총 자릿수를 구하는 문제입니다. 예를 들어, N이 12일 경우, 1부터 12까지의 숫자를 이어서 쓰면 “123456789101112”가 되며, 이때 총 자릿수는 15가 됩니다.2. 정답코드import sysinput = sys.stdin.readline# 입력을 받아서 정수형으로 변환N = int(input())# 자리수(i)와 결과값(ans)를 초기화i = 1ans = 0while True: # 현재 자리수에서의 마지막 수(end)를 계산 end = int('9' * i) # 현재 자리수에서의 시작 수(start)를 계산 ..
안녕하세요! 이번 글에서는 백준 11725번 문제인 “트리의 부모 찾기” 문제를 함께 해결해 보겠습니다. 이 문제는 트리 구조에서 각 노드의 부모를 찾는 문제입니다. 문제를 분석하고, 접근 방법을 정리한 후, 최종적인 정답 코드를 확인해 보겠습니다. 문제 URL: https://www.acmicpc.net/problem/11725 1. 문제 설명1) 문제 개요트리 구조에서 각 노드의 부모를 찾는 문제입니다. 주어진 트리는 N개의 노드를 가지고 있으며, 각 노드는 1번부터 N번까지의 번호를 갖습니다. 1번 노드는 항상 루트 노드입니다. 우리는 각 노드의 부모를 출력해야 합니다. 2) 입력 • 첫 번째 줄: 노드의 수 N (2 ≤ N ≤ 100,000) • 다음 N-1개의 줄: 두 노드 사이의 간선을 나타내..
안녕하세요, 이번 글에서는 백준 14891번 문제인 “톱니바퀴” 문제를 함께 해결해 보겠습니다. 이 문제는 주어진 회전 명령에 따라 톱니바퀴를 회전시키고, 최종 상태를 바탕으로 점수를 계산하는 문제입니다. 문제를 분석하고, 접근 방법을 정리한 후, 최종적인 정답 코드를 확인해 보겠습니다. 문제 URL: https://www.acmicpc.net/problem/148911. 문제 설명 1) 문제 개요네 개의 톱니바퀴가 있습니다. 각 톱니바퀴는 8개의 톱니를 가지고 있으며, 각 톱니는 N극 또는 S극을 나타냅니다. 주어진 회전 명령에 따라 톱니바퀴를 회전시키고 최종 상태를 바탕으로 점수를 계산하는 문제입니다. 2) 입력 • 첫 번째 줄부터 네 줄에 걸쳐 각 톱니바퀴의 상태가 주어집니다. 상태는 8개의 숫자로..
안녕하세요, 이번 글에서는 백준 5525번 문제인 “IOIOI” 문제를 함께 해결해 보겠습니다. 이 문제는 주어진 문자열에서 특정 패턴이 몇 번 나타나는지 계산하는 문제입니다. 함께 문제를 분석하고, 접근 방법을 정리한 후, 최종적인 정답 코드를 확인해 보겠습니다. 문제 URL: https://www.acmicpc.net/problem/5525 1. 문제 설명1) 문제 개요 • 주어진 문자열 S에서 특정 패턴 ‘IOI’가 반복되는 횟수를 찾는 문제입니다. • 패턴 ‘IOI’가 N번 반복되는 문자열을 찾아야 합니다. 예를 들어, N=1일 때 패턴은 ‘IOI’, N=2일 때 패턴은 ‘IOIOI’입니다. • 주어진 문자열 S에서 이러한 패턴이 몇 번 등장하는지 계산하는 문제입니다. 2) 입력 • 첫 번째 줄에..