공부/Algorithm 5

[PS_DP] 3078 좋은 친구 파이썬

문제 상근이는 환갑을 바라보던 나이에 수능 시험을 다시보고 교대에 입학했고, 초등학교 선생님으로 취직했다. 상근: 요즘 애들은 친구를 사귀지 않나봐. 내가 앞에서 보고 있으면, 친구가 있는 학생이 별로 없는 것 같아. ??: 오빠! 오빠는 말콤의 친구와 성적이라는 책 안 읽어 봤어? 이 책에는 성적과 친구가 무슨 관계가 있는지 나와. 요즘 애들은 친구를 사귀기 전에 먼저 그 친구의 반 등수를 살펴봐. 말콤은 이 연구를 하기 위해서 6년동안 초등학교에서 선생님으로 위장 했었지. 하지만, 6년이라는 시간을 초등학교에서 보냈지만, 그 사람은 결국 결론을 얻지 못했어. 상근: 근데? ??: 말콤이 어느 날 자신이 초등학생이 되어 학교를 활보하는 꿈을 꾸었어. 근데 잠을 깨고 나니 내가 꿈을 꾸고 초등학생이 된건..

공부/Algorithm 2022.02.22

[PS_스택 큐 덱] 1158 요세푸스 문제 파이썬

문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 코드 from collections import deque n,..

공부/Algorithm 2022.02.22

[PS_기댓값과 선형성] 13255 동전 뒤집기 파이썬

문제 N개의 동전이 탁자 위에 놓여져 있다. 동전은 모두 앞면이 위를 향하고 있다. K개의 정수 A[i]가 주어진다. 가장 처음에 A[1]개의 동전을 랜덤하게 골라서 뒤집는다. 그 다음에는 A[2]개의 동전을 랜덤하게 골라서 뒤집는다. 이 과정을 계속해서 반복하고, 마지막에는 A[K]개의 동전을 랜덤하게 골라서 뒤집는다. 모든 과정을 완료했을 때, 앞면이 위를 향하는 동전 개수의 기댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 동전의 개수 N (1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 K (1 ≤ K ≤ 50)이 주어진다. 셋째 줄에는 A[i] (1 ≤ A[i] ≤ N)가 주어진다. 출력 모든 과정을 완료한 후에 앞면이 위를 향하는 동전 개수의 기댓값을 출력한다. 정답과의 절대/상대 오..

공부/Algorithm 2022.01.20

[PS_DP] 13250 주사위 게임 파이썬

문제 효빈이는 1부터 6까지 수가 적혀있는 6면 주사위를 가지고 있다. 매번 주사위를 던질 때마다 주사위의 윗 면에 적힌 수 만큼 사탕을 받게 된다. 효빈이가 적어도 N개의 사탕을 받기 위해 주사위를 던져야 하는 횟수의 기댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000) 출력 첫째 줄에 사탕을 적어도 N개 받기 위해 주사위를 던져야 하는 횟수의 기댓값을 출력한다. 정답과의 절대/상대 오차는 10-9까지 허용한다. 풀이 방법 코드 N = int(input()) dp = [0]*1010101 for i in range(N-1, -1, -1): ret = 0 for j in range(1, 7): ret += 1/6 * (1 + dp[i+j]) dp[i]..

공부/Algorithm 2022.01.20

[백준] 백준 시작

오늘 백준 들어갔다가 깜짝 놀랐다 리트코드로 공부했었다는 변명에도 브론즈 4는 좀 아니지 싶기도 하고 ... 흐지부지 되지 않기 위해 별거 아니지만 포스팅을 올린다 (*•̀ᴗ•́*)و ̑̑ 우선 목표는 골드1 기간 2021.10.28 ~ 2021.1.28 # 22.02.03 추가 목표는 달성하지 못했다.. ( •ᴗ•̥ ˳ ) 그래도 3개월간 알고리즘 공부를 꾸준히했던 것 같다! ICPC 신촌 알고리즘 스터디 초급 & 중급반에서 강의를 들으며 문제를 풀고 있는데 개념을 먼저 이해하고 개념별로 문제를 푸니까 뜬구름 잡는 것 같던 알고리즘이 그나마 조금씩 이해가 되는 것 같은 느낌이다. 그리고 머리도 좋은데 노력도 많이 하는 다른 스터디원들을 보면서 자극도 많이 받게되는 것 같다. 하지만 아직도 어려운 문제를..

공부/Algorithm 2021.10.28