본문 바로가기
  • Hi Hello, Code

🧑‍💻Problem Solutions/BOJ10

[BOJ] #1932. 정수삼각형 (Python) (DP) 📖Problem 1932번: 정수 삼각형 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 🔍Institution 어떻게 동작 과정이 수행되는지 핸드트레이싱해본다. 리스트를 어떻게 받아낼지 아이디어를 떠올린다. 이 2가지 과정을 거쳤다. 어떻게 동작 과정이 수행되는지 핸드트레이싱해본다.이때, 양쪽 끝에 있는 부분은 그냥 그대로 내려받는다.그게 아니라면, max()를 이용해서 양쪽으로 내려오는 것들 중 더했을 때 더 큰 값을 다시 저장하도록 한다. ⇒ 대각선 왼쪽, 대각선 오른쪽만 이동할 수 있다. 리스트를 어떻게 받아낼 것인가?가장 간단한 방법은 중첩 리스트를 이용하는 것이다. [[.. 2024. 3. 25.
[BOJ] #3040. 백설공주와 일곱난쟁이들 (파이썬/Python) 작성일시: 2022년 10월 16일 오전 12:25 등급: 브론즈2 유형: 브루트 포스(완전탐색) 문제: #3040. 백설공주와 일곱난쟁이들 일곱 난쟁이의 모자에 쓰여져있는 숫자의 합 = 100 아홉 개의 수 중 합이 100이 되는 일곱 개의 수 찾기 입력 총 9개 줄에 1 2023. 9. 8.
[BOJ] #10844. 쉬운 계단의 수 (파이썬/Python) 작성일시: 2022년 10월 15일 오후 11:21 출처 : 백준 온라인 저지 ✔ Problem: #10844. 쉬운 계단의 수 💡 인접한 모든 자리의 차이가 1인 계단수가 있다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구한다. 0으로 시작하지 않는다. ✔ 풀이과정 💡 힌트 : 구구단 코드와 비슷하다, 테이블을 사용한다. 각각의 케이스를 구분하자.(if문) 모든 경우의 수를 구하는 것이다. 근데 하나하나 다 풀려고 하면 너무 복잡해진다. 각각의 케이스를 구해보자. N이 1일 때, 자리수가 1이기 때문에 각 숫자들이 맨 뒷자리에 올 수 있는 개수는 1씩이다. 맨 뒤에 0이 올 수 있는 경우의 수 - 0으로 시작할 수 없고, 1만 올 수 있다. ⇒ (1개) 맨 뒤에 1이 올 수 있는 경우.. 2023. 9. 7.
[백준] #15486. 퇴사2 (Python) 작성일시: 2023년 8월 2일 오후 1:17 📖Problems: #15486. 퇴사2 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 등급 : 골드 V 백준이가 퇴사 하려고 함 N+1일째 되는 날 퇴사 하기 위해, 남은 N일동안 최대한 많은 상담을 하려고 함. 이때 백준이가 얻을 수 있는 최대 수익을 구하는 프로그램을 작성하시오 각 상담은 ‘상담을 완료하는데 걸리는 시간 Ti’와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어짐 example: N = 7퇴사 전 할 수 있는 상.. 2023. 8. 8.
[백준] #2607. 바이러스 (Python) 작성일시: 2023년 7월 21일 오후 12:49 알고리즘 스터디에서 bobmyeonsoo가 준비한 문제! 난이도는 실버3이다. 📖Problems: #2606. 바이러스 신종 바이러스가 네트워크로 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에 연결되어 있는 모든 컴퓨터는 바이러스에 걸린다. 어느날 1번 컴퓨터가 신종 웜 바이러스에 걸렸으며, 컴퓨터의 수와 네트워크 상에 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 출력하라. 예시) 7대가 있을 때, 1번 컴퓨터가 웜 바이러스에 걸린다고 해보자. 1번과 연결된 2, 5번, 그리고 3번과 6번까지 2,3,5,6 네 대의 컴퓨터가 바이러스에 걸린다. 입력 7 # 컴퓨터의 수, 10.. 2023. 7. 25.
[백준] #10799. 쇠막대기 (Python) #10799. 쇠막대기 site: 백준 등급: 실버2 유형: 스택/큐 작성일시: 2023년 7월 7일 오전 2:39 📖Problems 쇠막대기와 레이저의 배치를 나타내는 괄호 표현이 주어졌을 때, 잘려진 쇠막대기 조각의 총 개수를 구하는 프로그램을 작성하시오. 레이저와 쇠막대기의 배치: 왼쪽부터 순서대로 표현함 레이저는 ‘( ) ’ 으로 표현함. 모든 ‘( ) ’는 반드시 레이저를 표현 쇠막대기의 왼쪽 끝은 ‘ ( ’ 로, 오른쪽 끝은 ‘) ’ 로 표현 예시 쇠막대기는 레이저에 의해 몇 개의 조각으로 잘려지는데, 위 예에서 가장 위에 있는 두 개의 쇠막대기는 각각 3개와 2개의 조각으로 잘려지고, 이와 같은 방식으로 주어진 쇠막대기들은 총 17개의 조각으로 잘려진다. 예제1 입력: ()(((()())((.. 2023. 7. 7.
[백준] #14888. 연산자 끼워넣기 (Python) 📃문제 : #14888. 연산자 끼워넣기 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다.예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다. 1+2+3-4×5÷6 1÷2+3+4-5×6 1+2÷3×4-5+6 1÷2×3-4.. 2022. 10. 30.
[백준] #9655 돌 게임 (Python) 문제링크 : https://www.acmicpc.net/problem/9655 🎯게임이론 폰 노이만에 의해 게임 이론의 기초가 달성됨. 게임 진행 주체들 간에 상호 의존성이 존재하여 상대방의 의사결정이 자신의 손익에 영향을 미친다는 사실을 고려해야 하는 게임 상황 가운데 합리적인 주체가 어떤 의사결정을 하는가를 연구하는 학문이다. 주체는 합리적이므로 게임의 참가자들은 자신의 이익을 극대화하는 방향의 의사결정을 하게 되며, 비이성적인 선택을 하지 않는다는 전제 조건이 붙는다. 참가자의 합리성은 모든 참여자 사이의 공통지식이라는 조건이 붙는다. 사례 - 죄수의 딜레마 개인에게는 최선이나 결론적으로는 최선이 아닌 것이 딜레마이다. 내쉬 균형: 상대 전략을 전제로 자신의 이익을 최대화하는 전략을 선택해 형성된 .. 2022. 10. 30.
[백준] #3040. 백설공주와 일곱난쟁이들(Python) 문제 링크 : https://www.acmicpc.net/problem/3040 문제 일곱 난쟁이의 모자에 쓰여져있는 숫자의 합 = 100 아홉 개의 수 중 합이 100이 되는 일곱 개의 수 찾기 입력 총 9개 줄에 1 2022. 10. 30.
반응형