BOJ 3

[boj 2109.python] 백준 '순회강연' 풀이 (파이썬 런타임에러(ValueError) 해결)

https://www.acmicpc.net/problem/2109문제 접근처음에 'd일 안에 와서 강연을 해 주면' 이 문장 때문에 문제 이해에 약간 시간을 썼다. 나와 비슷한 처지(?)에 있으신 분들에게 이해가 쉽도록 예시를 들어드리자면 .. 3개의 대학에서 아래와 같은 조건으로 강연 요청을 해 온 상황이라고 가정 해보자.  최대로 많은 금액의 강연료를 벌 수 있도록 강연 일정을 최적화할 수 있게 그리디 알고리즘으로 접근했다. 주요 로직은 아래와 같다. 1. 강연료가 비싼 순서대로 (p가 큰 순서대로) 정렬한다. 가장 높은 보상을 우선으로 배정하기 위함이다.2. 위에서 정렬한 것을 기반으로, 가장 큰 강연료를 주는 요청부터 가능한 날짜(d)에 배정한다.3. 배정 기준은, 날짜를 거꾸로 탐색해서 가장 가..

Algorithm/BaekJoon 2024.12.20

[boj 14888.python] '연산자 끼워넣기' 파이썬 풀이 (feat. 브루트포스, DFS 비교)

https://www.acmicpc.net/problem/14888문제 출력 문제 접근문제 난이도 자체는 어렵지 않은 문제였다.처음에는 브루트포스(완탐)와 DFS 사이에서 고민하다가, DFS로 구현하려면 각 연산자를 선택하는 과정을 재귀 호출로 구현해야 할 것 같았다. 아직 그 부분은 미흡해서 브루트포스로 풀 수 있을까? 하고 고민했는데 ,, 그래서 시간 복잡도를 계산해 봤다. N - 1개의 연산자에 대해 가능한 모든 순열을 생성해야 하니까, 경우의 수는 (N - 1)!과 같을거다. '입력'에서 N의 조건을 보면 N의 최대값은 11 이다. 즉, 최대 경우의 수는 10! = 3,628,800이라는 말 ! 그래서 이 문제의 경우는 브루트포스로도 충분히 풀 수 있을 거라고 판단해 브루트포스 방법을 채택해서 문..

Algorithm/BaekJoon 2024.12.03

[boj 1244.python] '스위치 켜고 끄기' 풀이

https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 문제 이러한 규칙에 따라 학생들이 스위치를 조작하고 난 후의 스위치 상태를 구해야 한다. (자세한 입/출력 설명과 예제는 포스팅 상단의 문제를 참고해주길 바란다) 문제 이해 알고리즘 문제 푼 지 2주차가 되어 가니 슬슬 어느 지점에서 어떻게 생각해야 편할지 길이 보이는 것 같기도 하다. 남자와 여자의 행동 양식이 달라서, 남자 여자를 따로 생각하고, 와중에 남자/ 여자가 똑같이 해야하는 부분..

Algorithm/BaekJoon 2024.01.15