BOJ/미해결 16

BOJ 11729 - 하노이 탑 이동 순서

문제https://www.acmicpc.net/problem/11729  풀이재귀를 이용해 문제를 해결한다1. 가장 큰 원판 n은 맨 밑에 있어야 하므로 n-1개를 첫 번째 장대에서 두 번째 장대로 옮긴다2. 원판 n을 첫 번째 장대에서 세 번째 장대로 옮긴다3. 원판 n-1개를 두 번째 장대에서 세 번째 장대로 옮긴다 원판을 옮겨야 하는 총 횟수는  2ⁿ-1 이다 재귀함수에서 2ⁿ으로 자기 자신을 호출하고 n == 1일 때 한 번만 호출하므로 -1을 해준다  코드python12345678910111213def hanoi(n, src, aux, dest):    if n == 1:        print(src, dest)    else:        hanoi(n - 1, src, dest, aux)..

BOJ/미해결 2024.08.15

BOJ 1083 - 소트

문제https://www.acmicpc.net/problem/1083  풀이그리디 문제다 사전 순으로 뒤에 서기 위해 왼쪽에서 오른쪽으로 갈수록 수가 작아져야 한다왼쪽에서 오른쪽으로 순회한 인덱스를 기준으로 오른쪽에 있는 수 중 남은 s번을 교체해서 가져올 수 있는 최댓값을 매순간 바꿔주면 된다 연속된 수만 교체할 수 있는데, 이는 인덱스 차이가 남은 s 이하라면 바로 바꿀 수 있다는 것을 의미한다- s가 3일 때 3과 5의 위치를 바꾼다 -> 5 3 1 2 4, s = 2                    1과 4의 위치를 바꾼다 -> 5 3 4 1 2, s = 0  코드python123456789101112131415161718192021222324252627n = int(input())arr = l..

BOJ/미해결 2024.08.10

BOJ 1931 - 회의실 배정

문제https://www.acmicpc.net/problem/1931  풀이그리디 문제다 1. 회의가 끝나는 시간이 빠를수록 더 많은 회의를 고를 수 있다2. 회의가 끝나는 시간 이후부터 가장 빨리 시작되는 회의를 골라야 한다 이를 위해 끝나는 시간이 작은 순서대로 오름차순 정렬을 한다만약 끝나는 시간이 갔다면 시작 시간이 작은 순서대로 또 오름차순 정렬을 한다  코드python12345678910111213141516171819meet = []answer = 0endTime = 0 n = int(input()) for _ in range(n):    begin, end = map(int, input().split())    meet.append([begin, end]) meet.sort(key= ..

BOJ/미해결 2024.08.09

BOJ 1541 - 잃어버린 괄호

문제https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다.www.acmicpc.net  풀이55-50+40 에서 55-(50+40)으로 괄호를 씌우면 최소값인 -35가 나오게 된다. 이 때 ()를 전개해서 표현하면 '+' 기호는'-' 기호로 바뀌어서 55-50-40이 된다. 이 원리를 이용해서 첫 번째 '-' 이후에 나오는 모든 '+' 기호를 '-'로 치환하면 최소값이 나오게 된다.   1. 첫 숫자부터 -가 나오기 ..

BOJ/미해결 2024.08.08

백준 3190 - 뱀

문제https://www.acmicpc.net/problem/3190 3190번: 뱀문제  'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따www.acmicpc.net  풀이문제에 나와있는 순서대로 구현을 해주면 된다. 특별히 신경 쓴 부분은 종료조건과 꼬리의 이동 부분이다.  뱀의 몸이 있는 공간을 chec..

BOJ/미해결 2024.08.04

백준 9375 - 패션왕 신해빈

문제https://www.acmicpc.net/problem/9375  풀이headgear 의상 종류에 대해서 현재 hat, truban이 있다이때 가능한 경우의 수는 {hat}, {turban}, {}(공집합) 3가지 이다 모든 옷 종류에 대해서 각각 가능한 경우의 수를 곱하고 모든 옷 종류를 하나도 안 입는 경우(1가지)를 빼주면 된다  코드python123456789101112131415161718t = int(input()) for _ in range(t):    n = int(input())    d = {}    for _ in range(n):        clothes, category = input().split()        if category not in d:            ..

BOJ/미해결 2024.08.03