Loading...

이진수의 마지막 n개의 비트가 모두 켜져있는지 확인하는 방법

SW Expert Academy SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  정수 m의 마지막 n개의 비트가 모두 1인지 확인하는 문제 m이 $10^{8}$이고 테스트 케이스는 10000개이고 제한시간 2초라 단순하게 확인하면 시간초과날 것 같다 가장 쉬운 방법은 0부터 n-1까지 순회해서 각 비트가 1인지 검사하는 것 (1 이다. T = int(input())for test_case in range(1, T + 1): n,m = map(int,input().split()) no = False for i in range(n): if (1   다른..

약수를 세는 것보다 배수를 세는 것이 더 쉽다(홀수인 약수의 합, 유일한 소인수의 개수를 구하는 방법)

SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 어떤 정수 x의 약수 중 홀수인 약수의 합을 f(x)라고 할때, L,R이 주어지면 L이상 R이하의 모든 x에 대해 f(x)의 합을 구하는 문제 단순한 방법으로는 소인수분해를 해서 홀수인 소인수들의 곱으로 약수의 합을 구하면 된다. https://deepdata.tistory.com/588 약수의 합과 약수의 개수 공식 익히기 1. 약수의 개수 자연수 n의 소인수분해가 $$n = p_{1}^{x_{1}}p_{2}^{x_{2}}...p_{k}^{x_{k}}$$라고 한다면, n의 양의 약수의 개수는 $$d(n) = (x_{1}+1)(x_..

2023. 2. 21. 23:04

넓이가 가장 넓은 평행사변형 찾기

1. 문제 15941.평행사변형 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 풀이 서로 마주보는 두 쌍의 대변이 서로 평행한 사각형을 평행사변형이라고 부른다. 모든 변의 길이가 N으로 서로 같은 평행사변형 중에서 가장 넓은 평행사변형의 넓이를 출력하라고 하는데... 평행사변형의 넓이를 구하는 공식을 생각해보면.. 하나의 변과 높이의 곱이다. 여기서 조금만 생각해보면.. 모든 변의 길이가 N인 모든 평행사변형에 대해, 넓이가 가장 넓을려면 높이인 b가 가장 커야한다. b의 최댓값은 얼마일까? 다음과 같은 직각삼각형을 생각해볼 수 있다. 직각삼각형의 빗변인 N이 삼각형에서 ..

자바에서 숫자를 문자로 문자를 숫자로, 문자열을 배열로 자료형 변환 배우기 + 나눗셈의 몫과 나머지

1. 문제 1288. 새로운 불면증 치료법 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 풀이 import java.util.Scanner; Scanner sc = new Scanner(System.in);으로 입력을 받기 sc.nextInt();는 정수값 입력을 받아 변수에 저장 ---------------------------------------------------------------------------------------- int[] visited = new int[10];은 길이가 10인 정수값 배열을 선언 0~9까지 봤는지 안봤는지를 체크하는 배열이다 -..

2022. 10. 30. 22:37

0.x초 단위로 시뮬레이션하는 방법 -원자소멸시뮬레이션-

1. 문제 5648. [모의 SW 역량테스트] 원자 소멸 시뮬레이션 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 맵에 배치된 원자들이 동시에 1초에 1만큼 이동하고, 방향을 바꾸지 않는다. 원자들이 소멸되면서 방출하는 에너지의 총합을 구하는 문제 2. 풀이 이전에 배운 미생물 격리 문제에서 얻은 시뮬레이션의 기본 방법으로 시뮬레이션을 해보면 된다 문제를 보면 1초에 1만큼 동시에 이동하니까, 1초에 1씩 이동시킨다고 생각하면 될까? 했는데 1.5초에 충돌한다고 예시에 나와있더라 그러면 ... 아니 1초마다 말고 0.x초마다 반복문을 해야한다는거여?? 아니 근데 0.x초마다 반..

2022. 10. 22. 02:39

다이나믹 프로그래밍의 기본이 되는 동전 거스름돈 문제 해법 배우기

1. 문제 사용할 수 있는 동전이 1원,4원,6원이 있다. 거스름돈 8원을 내주기 위해 사용할 수 있는 최소 동전의 개수는? 그리디 방법으로 접근하면, 가장 큰것부터 내주면 최소라고 생각할 수 있으니까, 6원, 1원, 1원 그러나 실제 최적해는 4원, 4원으로 2개이다 그리디 방법이 항상 최적해를 보장해주지 않아서, 다른 방법으로 문제를 해결할 필요가 있다 - 완전 검색(백트래킹 이용가능) - 다이나믹 프로그래밍 2. 재귀 알고리즘 3가지 동전 각각 선택하면 작은 부분문제가 생긴다 1원짜리 동전을 선택하면 >> 7원에 대한 최적해 + 1원 1개 >> 7원에 대한 최적해는 1원,4원,6원으로 다시 나눌 수 있음 4원짜리 동전을 선택하면 >> 4원에 대한 최적해 + 4원 1개 6원짜리 동전을 선택하면 >> ..