본문 바로가기

알고리즘

(9)
11720번 : 숫자의합 # 11720번 문제 숫자를 문자열로 입력받은 뒤 하나씩 문자로 받아온 뒤 숫자로 변환하여 해결 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); String num = scan.next(); int result = 0; for (int i = 0; i < n; i++) { result += (num.charAt(i) - '0'); } System.out.println(result); } }
1978번 : 소수 찾기 # 1978번 문제 입력 받은 값이 소수인지 판별하는 문제. 소수는 자기 자신으로만 나눠지는 수이다. 즉, 우선은 입력받은 값을 나눌 수 있는 수를 찾는다. 그리고 나눠진 값이 자기 자신이 아니면 리턴하고 끝낸다. import java.util.Scanner; public class Main { public static boolean isPrime(int num) { for(int i=2; i
2747번 : 피보나치 수 # 2747번 문제 유명한 피보나치 수에 대한 알고리즘 두 가지 방법으로 해결 가능 1. 재귀 호출 2. 반복문 처음엔 재귀호출을 이용하여 문제를 풀어보았다. Fn = Fn-1 + Fn-2 (n>=2) 해당 식을 참고해서 재귀함수를 만든다. import java.util.Scanner; public class Main { public static int fibonacci(int n){ if(n == 0) return 0; else if(n == 1) return 1; else return fibonacci(n-1) + fibonacci(n-2); } public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n =..
2744번 : 대소문자 바꾸기 # 2744번 문제 대문자 -> 소문자, 소문자 -> 대문자로 변경하는 문제 문자를 하나씩 받아와 대문자인지 소문자인지를 확인한 후, 변경 대문자 아스키코드 : 65(A)~90(Z) 소문자 아스키코드 : 97(a)~122(z) 대문자와 소문자의 차이는 32 import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.nextLine(); String resultStr = ""; for(int i=0; i
1546번 : 평균 # 1546번 문제 가장먼저 값을 입력 받는다. 값을 입력 받을 떄 최대값도 같이 구해준다. 다음 반복문에서 값을 공식에 따라 변환시키면서 총점을 구한다. 출력할 때 평균을 계산한다. # 원하는 소수점 자릿수 출력 1. System.out.printf("%.자릿수f", 출력값); f 앞에 .원하는 자릿수 를 넣어주면 출력 가능 System.out.printf("%.2f", 111.123456); 다음과 같이 코드를 작성하면 소수점 2번째자리까지 출력되어 111.12 가 출력된다. 2. String.format("%.자릿수f", 출력값); 출력값을 문자열로 변환시킨뒤 출력한다. System.out.println(String.format("%.2f", 111.123456)); 3. DecimalFormat ..
4504번 : 배수 찾기 # 4504번 문제 숫자목록을 입력받아서 원하는 배수를 찾는 문제. 배수와 숫자목록을 입력받은 뒤에 for문을 돌면서 해당값이 배수인지 아닌지를 구별하면 된다. 출력문이 완전 똑같아야 맞았다고 뜬다.. "." 조차도 포함..!!! import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int num; ArrayList numList = new ArrayList(); while ((num = scan.nextInt()) != 0) { numList..
2490번 : 윷놀이 # 2490번 문제 #윷놀이를 구하는 문제. 이차원배열을 사용하여 각 사람에 대한 윷을 입력하고 0을 체크해서 해당하는 값에 대한 결과값을 배열에 넣어 출력 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[][] inputArr = new int[3][4]; int zeroCount = 0; int[] result = new int[3]; for (int i = 0; i < inputArr.length; i++) { for (int j = 0; j < inputArr[0].length; j++) { inputArr[i][j..
2587번 : 대표값2 # 2587번 문제 # 평균과 중앙값을 구하는 문제 5개를 저장하는 배열을 생성한 뒤 값을 입력받으면서 바로 덧셈 중앙값을 위해 크기 순서대로 정렬을 해야한다(선택 정렬 사용) import java.util.Scanner; public class Main { public static int[] sort(int[] arr){ for(int i=0; i