1138 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. 줄을 선 순서대로 키를 출력한다. ex) input> 7 6 1 1 1 2 0 0 output> 6 2 3 4 7 5 1 import java.util.Scanner; public class bj1138_0123 { public static void main(String[] args) { // 입력 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for (int i = 0; i < N; i++) { arr[i]..
분류 전체보기
1124 언더프라임 소인수분해의 업그레이드 소인수분해 결과 소인수의 개수가 소수인 경우 언더프라임이라고 한다. A와 B가 주어지면, [A,B] 범위에서 언더프라임의 개수를 출력하는 문제. import java.util.Scanner; public class bj1124_0123 { public static void main(String[] args) { // 입력 Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); sc.close(); // underprime 개수 카운팅 int cnt = 0; for (int i = A; i
객체지향의 4가지 주요 특성 OOP is APIE Oject Oriented Programming is Abstraction, Polymorphism, Inheritance, Encapsulation 추상화 다형성 상속 캡슐화 그 중에서도 다형성에 대해... 수업시간에 이해가 잘 안돼서 다시 정리해봤다. (이하 같은 .java파일에 있으나 여러 코드블럭으로 쪼개봄) class Creature { int age; Creature() { System.out.println("- Creature created."); } void breathe() { System.out.println("- breathing."); } } Creature 클래스 - 멤버변수 age - 생성자 Creature() - 메서드 brea..
10872 재귀 단계 팩토리얼 숫자를 입력받으면 팩토리얼을 출력. 단, for문 사용하지 않고 재귀함수 사용 import java.util.Scanner; public class bj10872_0122 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.println(fact(N)); } static int fact(int N) { if (N == 0) { return N+1; } N = N * fact(N - 1); return N; } } 재귀함수 자체가 오랜만이고 java로 쓰는 건 처음이라 생각보다 시간을 너무 많이 썼다... (앞 글에 올린 하노이..
문제를 풀면서 Scanner, System.out.println을 사용한 것과 빠른 입출력, BufferedReader, BufferedWriter를 사용한 코드를 비교해봤다. 11729 재귀 단계 하노이 탑 이동 순서 규칙은 하노이 탑 게임과 같다. 최초 탑 높이 N 입력. > 최소 이동 횟수 K 출력 > 이동 순서 출력("1 3" : 1위치 가장 위 원판을 3위치로 이동) 1) 처음엔 이렇게 짰다. import java.util.Scanner; public class bj11729plus_0122 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.pr..
11653 기본 수학 2 소인수분해 말그대로 소인수분해를 하는 문제 1 입력시 출력 없음, 2부터는 입력시 소인수를 오름차순으로 출력 import java.util.Scanner; public class bj11653_0122 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); for (int i = 2; i 2) { for (int i = 3; i
8958 1차원 배열 OX퀴즈 퀴즈 정답 여부를 입력받으면 점수를 출력하는 문제. ex) OXXOXOOXOOO : 1+0+0+1+0+1+2+0+1+2+3 = 11 을 출력 입력할 문자열이 몇개인지 입력받음 > 해당 개수만큼의 정답여부 문자열 입력받음 > 각 문자열에 해당하는 점수 출력 import java.util.Scanner; public class bj8958_0122 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String[] arr = new String[n]; for (int i = 0; i < n; i++) { arr[i] = sc.next(); } for..
## 1501 1502는 너무 간단해서... import java.util.Scanner; public class CodeUp1501 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] arr = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { arr[i][j] = 1 + i * n + j; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%d ",arr[i][j]); } Sys..
## 1411 기초 5-1 1차원 배열 빠진 카드 - 총 카드 수 N 입력받음 (1~N까지 있는 카드 묶음) - 하지만 한 장 잃어버림. 그 한장 빼고 다 입력받음. - 잃어버린 카드 찾기 import java.util.Scanner; public class CodeUp1411 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N - 1]; for (int i = 0; i < N - 1; i++) { arr[i] = sc.nextInt(); } sc.close(); // outer: for (int cmp = 1; cmp
1441과 같은 버블 정렬이지만, 불필요한 단계는 스킵할 수 있는 알고리즘이 추가적으로 요구된다. 예를 들어 1 5 3 2 4 를 오름차순으로 정렬한다면, 1단계 - 1 3 2 4 5 2단계 - 1 2 3 4 5 (이미 정렬 완료) 3단계 - 1 2 3 4 5 4단계 - 1 2 3 4 5 불필요한 3 4단계는 반복문을 깨고 나와서 실행을 하지 않아야 함. ## 3011 위와 같음 총 몇 단계가 필요한지 출력하는 코드 import java.util.Scanner; public class CodeUp3011 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr =..