본문 바로가기

알고리즘/문제풀이21

백준 10826 피보나치 수 4 원래 생각했던 대로 재귀를 쓰면 시간초과가 뜨고, 그냥 int로 구현하면 범위때문에 틀렸다고 출력되는 문제이다. n에 0이 들어갈 수도 있다는 것을 확인해야한다. BigInteger은 문자열이기에 사칙연산이 안됩니다. 그렇기에 BigIntger 내부의 숫자를 계산하기 위해서는 BigIntger 클래스 내부에 있는 메서드를 사용해야 한다. import java.math.BigInteger; import java.util.Scanner; public class Main_10826_이서정{ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input= new Scanner(System.in); int n=inp.. 2022. 8. 2.
백준 1929 소수 구하기 시간초과가 뜨지 않게 소수를 구하려면 에라토스테네스의 체 방법이 필요하다. 소수는 1과 자기자신만을 약수로 가지는 수이다. for문을 돌리면서, 2부터 해당값까지 배수인 숫자들을 모두 true로 반환한다. 여기서 해당값이 𝑝 곱하기 𝑞라면 결과적으로 𝑝 와 𝑞 중 하나는 반드시 √N 보다 작거나 같다. 즉, √N 이하의 자연수 중에 나누어 떨어지는 수가 있다면 이는 1 과 N 을 제외한 다른 자연수가 N 의 약수라는 의미이므로 소수가 아니게 되는 것이다. import java.util.Scanner; public class Main { public static boolean[] prime; public static void main(String[] args) { // TODO Auto-generated .. 2022. 8. 2.
백준 1244 import java.util.Scanner; public class Main { static int sn, sw[]; //스위치 개수, 스위치 상태 public static void main(String[] args) { Scanner sc = new Scanner(System.in); sn = sc.nextInt(); sw = new int[sn+1]; for(int i=1; i 2022. 8. 2.
백준 17478 import java.util.Scanner; public class Main { static void printunder(int star) { for(int i=0; i 2022. 8. 2.