본문 바로가기
반응형

분류 전체보기70

백준 1065번 한수 자바 java 문제 풀이 정수의 각 자리 수가 등차수열로 이루어지면 한수 예) 1 ~ 99, 111 (0), 123 (1), 135 (2), 147 (3), 159 (4), 210 (1).... 1 ~ 99 까지는 한수를 더해주고 세 자리 숫자부터 함수를 만들어서 처리를 함 첫째 자릿수와 둘째 자릿수를 계산을 해서 증감 값을 찾아내고 그다음 셋째 자리 수와 둘째 자리 수를 비교해서 한수 값을 찾아내는 것으로 해결을 하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); //한자리, 두자리 수는 모두 한수.. 2021. 4. 12.
백준 4673번 셀프 넘버 자바 java 문제 풀이 10,000 보다 작은 셀프 넘버를 구하기 위해서 10000번 정도 for문을 돌리면서 길이가 10000인 배열을 선언하고 생성자를 구하는 함수를 만들어 해당 값을 리턴해서 해당 배열에 인덱스에 집어넣고 카운트를 높이고 카운트 0만 출력(셀프 넘버)을 하여 해결하였다 코드 public class Main { public static void main(String[] args) { int[] selfNumbers = new int[10000]; for (int i = 1; i < 10000; i++) { selfNumbers[generator(i)]++; } for (int i = 1; i < selfNumbers.length; i++) { if (selfNumbers[i] == 0) { Sys.. 2021. 4. 11.
백준 15552번 빠른 A+B 자바 java 문제 풀이 시간제한이 있어서 주로 사용하던 Scanner와 출력하는 방식으로는 시간 초과가 돼버려서 입력 클래스인 scanner 대신 BufferedReader를 사용하고 String 문자열을 만들 때 바로 출력하는 대신에 StringBuilder로 한꺼번에 문자열을 만들고 마지막에 BufferedWriter 클래스를 이용해서 출력하는 것으로 해결을 하였다 코드 import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S.. 2021. 4. 11.
백준 2884번 알람시계 자바 java 문제 풀이 입력한 시간에서 45분을 뺐을때 분이 양수 (0분 이상) 라면 그대로 출력 분이 음수 (0 미만)라면 시간을 -1을 하고 분을 60분을 더하고 만약 시간이 음수가 된다면 (0 미만)일 때 시간을 24시간을 더하고 출력을 해서 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int h = sc.nextInt(); int m = sc.nextInt(); m = m - 45; if (m >= 0) { System.out.printf("%d %d", h, m); return; } h = h - 1; m = m + .. 2021. 4. 11.
백준 1110번 더하기 사이클 자바 java 문제 풀이 1 ~ 9까지 1글자인 숫자는 1 -> 11, 2 -> 22, 3 -> 33 .. 9 -> 99 와 같이 11을 곱하는 것으로 처리를 하였고 각 자리수를 더하기 = (10의 자릿수는 10을 나눈 값) + (1의 자릿수는 10으로 나눈 나머지 값) 새로운 수 = (주어진 수를 10으로 나눈 나머지 값에서 * 10) + (각 자릿수 더한 값을 10으로 나눈 나머지 값) count를 세면서 새로운 수가 N값과 같으면 while을 탈출하고 count를 출력하게끔 해서 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);.. 2021. 4. 10.
선택 정렬 (selection sort) 자바 선택 정렬이란? 값들 중에서 가장 최솟값을 찾아서 맨 왼쪽으로 채워가면서 정렬하는 방법 예제 : 오름차순으로 선택정렬 10 5 3 1 7 - 시작 10 5 3 1 7 - 최소값 1을 찾음 1 5 3 10 7 - 1과 첫번째 값인 10을 교환 후 패스 1 5 3 10 7 - 최소값 3을 찾음 (첫번째 값은 제외하고 찾음) 1 3 5 10 7 - 3과 두번째 값인 5를 교환 후 패스 (첫번째 값은 제외하고 교환) 1 3 5 10 7 - 최소값 5를 찾음 1 3 5 10 7 - 세번째에 있음으로 교환없이 패스 1 3 5 10 7 - 최소값 7을 찾음 1 3 5 7 10 - 최소값 7과 10을 교환 후 정렬 완료 특징 장점 구현이 간단하다 단점 데이터가 클수록 느려짐 시간 복잡도 최악 시간 복잡도 : O(n^2.. 2021. 4. 10.
반응형