전체 글27 [python] 백준 16564번 - 히오스 프로게이머 N개의 캐릭터와 각 캐릭터는 X의 레벨을 가진다.레벨을 최대 총합 K만큼 올릴 수 있을 때, 최대 팀 목표레벨 T(min(X))를 구하는 문제. 그냥 이분 탐색 문제이다. import sysinput = sys.stdin.readlineN, K = map(int, input().split())X = [0] * Nfor i in range(N): X[i] = int(input())start = min(X)end = min(X) + Kwhile start x: total += mid - x if total 찾고자 하는 값을 T로 두었다.start는 당연히 min(X)라고 생각했지만, end는 처음에 max(X) + K인 줄 알았다.하지만 다시 생각해보니 min(X) + K여도.. 2024. 7. 20. [python] 백준 2805번 - 나무 자르기 상근이가 M만큼의 나무를 가져가기 위해서 절단기에 설정할 수 있는 높이의 최댓값을 구하는 문제. 이분 탐색(Binary Search)을 활용하는 문제이다.최근에 문제들을 풀면서 시간 초과 때문에 막힌적이 많은데,이 문제도 마찬가지이다. 시간 복잡도(Time Complexity)를 고려하며 코드를 짜는 연습을 해야겠다는 생각이 들었다. import sysinput = sys.stdin.readlineN, M = map(int, input().split())trees = list(map(int, input().split()))def fn(target): start = 0 end = max(trees) result = 0 while start mid) if s >= .. 2024. 7. 16. [python] 백준 1914번 - 하노이 탑 아주 유명한 하노이 탑 문제.. 시작 기둥에 쌓여있는 n개의 원판 모두를 특정 규칙에 따라서 목표 기둥으로 옮겨야 하는 문제이다. 규칙은 다음과 같다 1. 한 번에 한 개의 원판만 다른 탑으로 옮길 수 있다. 2. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 원판의 개수 N이 주어지면 옮긴 횟수, 그리고 그 옮긴 과정들을 출력해야 한다. 원판을 옮기는 과정에는 어떤 규칙이 있을까? A를 시작 기둥, B를 임시 기동, C를 목표 기둥이라고 하자. 가장 먼저 n == 1인 경우에는 단순히 A에 있는 원판을 C로 옮기면 된다. 다음으로는 n == 2인 경우를 보자. 원판 두 개를 옮기려면 다음과 같은 과정을 거쳐야 한다. A -> B A -> C B -> C 일단 A에 있는 작은 원판을 임시.. 2024. 7. 13. [C#] 문법 정리 1 C#의 기본 문법을 정리한 글. void Start()'void Start()'는 주로 Unity 게임 엔진에서 사용되는 메서드로, 초기화 작업을 수행하는 데 사용된다.이 메서드는 해당 스크립트가 활성화될 때 한 번 호출된다.using UnityEngine;public class MyScript : MonoBehaviour{ void Start() { // 초기화 코드 }} void Update()'void Update()'도 또한 Unity에서 사용되는 메서드로, 상속받은 클래스에서 매 프레임마다 호출되는 메서드이다.주로 게임 로직이나 애니메이션 등을 프레임 단위로 처리하는 데 사용된다.using UnityEngine;public class MyScript : MonoBeh.. 2024. 7. 12. [python] 백준 28278번 - 스택 2 스택을 구현하는 문제 시간 초과 떠서 pypy 3로 풀었다. ㅎimport sysN = int(sys.stdin.readline())stack = []def one(X): stack.append(X)def two(): if len(stack) > 0: a = stack[-1] del(stack[-1]) print(a) else: print(-1)def three(): print(len(stack))def four(): if len(stack) == 0: print(1) else: print(0)def five(): if len(stack) > 0: print(stack[-1]) .. 2024. 7. 12. [python] 백준 4779번 - 칸토어 집합 모든 선의 길이가 1이 될 때까지 선을 3등분 한 후, 가운데를 공백으로 바꾸는 문제.재귀로 분류되어 있는 문제이다. 가장 먼저 규칙을 찾아 보았다. 더보기N == 0일 때"-" N == 1 일 때"- -" N == 2일 때"- - - -" N == 3일 때"- - - - - - - -"칸토어 집합의 규칙에 따라서 선을 그리게 되면N번째 선은 N - 1번째 선을 2개 이어 놓았다는 것을 알 수 있다.그리고 두 선의 사이에는 3^(N-1)의 공백이 생기는 규칙이 있다.그래서 위의 규칙을 구현하는 코드를 다음과 같이 작성하였다.def fn(n): if n == 0: return '-' else: prev_line = fn(n - 1) .. 2024. 7. 9. 이전 1 2 3 4 5 다음