[백준-브론즈1] 1193번 분수찾기 (수학, 파이썬)
https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net - 무한히 큰 배열에 순서대로 분수가 적혀있고, 지그재그 순서대로 n번째 분수일때, 입력으로 주어진 n번째 분수를 찾는 문제 - 규칙을 찾는데 오래 고민했다,, 체감상 브론즈보다 어려운 느낌 - 규칙은 분수의 순서가 사선을 기준으로 움직인다. - 따라서, 가장 우선 x번째 분수가 몇번째 라인에 있는지 찾아주었다. --> line을 1씩 증가시키고, max_num에 line을 누적해서 더했다.(line = n일때, 그 라인은 n개의 분수를 포함한다) - 그 후 max_num과 x의 갭을 구한다. - 사선 라인이 짝수번째 일때는 순..
2022. 3. 4.
[백준-골드4] 10830번 행렬 제곱 (수학, 선형대수, 파이썬)
https://www.acmicpc.net/problem/10830 - 우선 입력을 받고, 행렬 연산 함수를 정의하였다. - 이 때, 계산을 마치고 1000으로 나눈 후 나머지를 result에 담아주었다. --> 여기서 1000으로 안나누고 최종에서 나누면 시간초과 뜸,,, (이유는 모름 ㅎ) - 시간 초과의 늪에서 허우적 거리다가 다른 블로그를 참고했다. - 이진법으로 b를 변환하여 연산량을 줄이는 방법 - 맨 끝 자리수부터 2진법 자릿수 만큼 제곱해주고, 제곱한 행렬 끼리 곱해준다. n, b = map(int, input().split()) matrix = [] for _ in range(n): matrix.append(list(map(int, input().split()))) def matrix_m..
2022. 3. 1.