문제 설명 등차수열 혹은 등비수열 common 이 매개변수로 주어질 떄, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성하라. 입출력 예 common result [1,2,3,4] 5 [2,4,8] 16 입출력 예 설명 입출력 예 1 [1,2,3,4] 는 공차가 1인 등차수열이므로 다음에 올 수는 5이다. 입출력 예 2 [2,4,8] 은 공비가 2인 등비수열이므로 다음에 올 수는 16이다. 문제 해결 과정 주어진 배열이 등비수열인지 등차 수열인지 판단을 먼저 해야한다. 그러기 위해서는 등비수열은 각 수마다 규칙적인 수로 곱해져있는 수 이며, 등차 수열은 각 수마다 규칙적으로 더해져있는 수열을 의미한다는 것을 알고 있어야 한다. isGeometric 는 주어진 수열이 등비 ..
외젠 샤를 카탈랑이 1838년에 제안한 수열로 카탈랑 수는 조합에서 자주 나오는 수열이며 아래의 점화식으로 나타낼 수 있다 n 번째 카탈랑 수는 아래의 점화식으로 나타낼 수 있다. 예를 들어 9번째 카탈랑수를 구한다면 아래의 표 처럼 구할 수 있다. -출처 나무위키- import java.util.ArrayList; public class CatalanNumbers { public static int solution(int n) { int result; ArrayList list = new ArrayList(); list.add(1); for (int i = 0; i
행복한 수란, 각 자리수를 제곱한 것을 더하는 과정을 반복했을 때 1로 끝나는 수 이다. 행복한 수가 아니라면 1에 도달하지 못하고 같은 수열이 반복하게 된다. 행복한 수 찾는 방법 주어진 수가 19일때 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 100 1^2 + 0^2 + 0^2 = 1 주어진 숫자를 일의자리와 십의 자리를 각각 제곱한 값을 ArrayList 에 넣어주었다. ArrayList 를 사용하면 계산된 결과가 contain 을 통해서 이전 계산에 같은 결과가 나왔는지 알 수 있기 때문에 사용하였다. 주어진 수의 자릿수는 계산할때 마다 달라지기 떄문에 Interger.toString(n).length() 를 통해서 숫자의 자릿수를 알 수 있었다. 주어진 수를 나머..
파스칼의 삼각형은 수학에서 이항계수를 삼각형 모양의 기하학적 형태로 배열한 것이다. 삼각형의 행의 수가 입력으로 주어졌을 때 파스칼의 삼각형을 출력하라. 삼각형을 그리는 규칙은 다음과 같다. 숫자가 들어갈 칸을 첫 번째 줄에는 1개, 두 번째 줄에는 2개, 세 번째 줄에는 3개 이런 식으로 한 줄씩 내려가면 한 칸씩 늘어나게 정삼각형 모양으로 만든다. 첫 번째 줄과 두 번째 줄의 3칸에는 1을 쓴다. 세 번째 줄부터는 줄의 양쪽 끝 칸에는 1을 쓰고 나머지 칸에는 바로 윗줄에 위치한 칸 중 해당 칸과 인접해 있는 두 칸의 숫자를 더해서 그 값을 쓴다. 이 규칙에 따라 삼각형을 그려보면 위 그림처럼 된다. - 출처 나무위키 - 파스칼 삼각형을 ArrayList 로 구현하였다. 삼각형의 한 행을 ArrayL..
두 수가 주어지며, 두수의 최대 공약수와 최소 공배수를 구하라 약수란? 약수란 어떤 수를 나누어떨어지게 하는 수를 말한다. 약수에는 항상 1과 자기 자신을 포함한다. 12의 약수를 구하면 1, 2, 3, 4, 6, 12 가 된다. 최대 공약수란? 0 이 아닌 두 개 이상의 정수의 공통되는 약수 중에서 가장 큰 수 이다. 따라서 두 정수 a, b 의 최대 공약수는 a 의 약수인 동시에 b의 약수인 수, 즉 두 정수 a, b 의 공약수 중에서 가장 큰 수를 의미한다. 최소 공배수란? 0이 아닌 두 개 이상의 정수의 양의 공배수 중에서 가장 작은 수이다. 따라서 두 정수 a, b의 최소 공배수는 a 의 배수인 동시에 b 의 배수인 수, 즉 두 정수 a, b 의 공배수 중에서 양수인 것 중 가장 작은 수를 의미..
1. 합의 법칙 합의 법칙은 A에서 발생되는 case 와 B에서 발생되는 case 를 더하는 법칙이다. 이때 중요한건 A와 B에서 겹치는 case 는 빼 주어야한다. 집합으로 따지면 합집합과 같다. n(A U B)= n(A) + n(B) - n(A ∩ B) 예제 - 두 개의 주사를 던졌을 때 합이 3 또는 4의 배수일 경우의 수 3의 배수의 경우의 수 : 12 3 : (1, 2) (2, 1) 6 : (1, 5) (2, 4) (3, 3) (4, 2) (5, 1) 9 : (3, 6) (4, 5) (5, 4) (6, 3) 12 : (6, 6) 4의 배수의 경우의 수 : 9 4 : (1, 3) (2, 2) (3, 1) 8 : (2, 6) (3, 5) (4, 4) (5, 3) (6, 2) 12 : (6, 6) 위..
인수와 출력 타입을 입력 받아 타입별로 별을 찍어 보자 단 입력은 홀수만 입력이 된다. 1. TYPE 1 한줄에 별이 입력 받은 수 만큼 출력이 되었고, 전체 줄도 입력 받은 수 만큼 출력이 된 것을 볼 수 있다. public static void type1(int n) { System.out.println("== Type1 =="); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.print("*"); } System.out.println(); } System.out.println(); } 이중 for 문을 이용하여 입력 받은 수 만큼 반복문을 돌려주면 된다. inner for문이 끝나면 줄 바꿈을 위해서 enter 를 해주..
총 10000번의 투표를 진행하며 투표는 랜덤으로 진행이 된다. 투표가 진행 되면서 투표 진행율과 투표수 비율을 출력하라. 마지막으로 당선자를 출력하라 투표 진행 후보자를 관리하기 편하기 위해서 person 이라는 배열을 생성하였다. 후보자는 총 4명 이며, 랜덤으로 투표 진행 하기 위해서 Random().nextInt(4) 를 사용하였다. Random().nextInt(4) 를 사용하면 0~3의 숫자가 랜덤하게 생성된다. 이때 생성된 수를 result 의 인덱스가 되어 값이 증가 된다. result[vote]++; 투표 진행율 투표 진행율을 계산하기 위해서는 현재 투표인원 / 전체 인원 * 100 을 해야지 진행율을 계산 할 수 있다. 이때 for 문에 있는 i 는 현재 진행한 투표 인원을 나타내며 0..
숫자를 랜덤으로 생성하여 로또 번호를 생성한다. 생성된 로또와 당첨 로또 번호를 비교하여 일치하는 번호를 출력한다. 로또 번호 생성 - Random().nextInt(45) + 1 Random().nexInt(bound) 를 하면 0~bond 전의 숫자가 생성된다. 로또는 1 부터 45까지의 숫자로 이루어져 있으며 Random().nexInt(45) 를 하면 0 ~ 44까지의 숫자를 만든 뒤 1를 더하면 1 ~ 45 까지의 숫자를 만들 수 있다. 로또 번호 출력 printLotte 를 오버라이딩을 하여 작성하여 로또번호 생성시, 당첨발표 할때 사용한다. 생성된 로또 번호 관리 생성된 로또 번호는 2차원 배열로 관리하였다. 로또 번호를 생성할때 myLotte[i] = makeLotteNum; 으로 작성하였..
소문자를 입력 받으면 대문자를 출력하고, 대문자를 입력 받으면 소문자를 출력하는 프로그램을 작성하라 ASKII code 를 사용하여 출력하라 △ Askii Code - a = 97 - z = 122 - A = 65 - Z = 90 import java.util.Scanner; public class Practice2 { public static void solution() { System.out.println("입력해주세요: "); Scanner input = new Scanner(System.in); String c = input.next(); input.nextLine(); char[] a = c.toCharArray(); for (int i = 0; i < a.length; i++) { if(Int..
- Total
- Today
- Yesterday
- 취준
- 코딩테스트 준비
- 백엔드 개발자
- 코딩테스트공부
- 자바공부
- 기술 면접 준비
- 코테 준비
- 제로베이스 백준 장학금
- 프로그래머스 자바
- 프로그래머스
- 백엔드 개발자 기술 면접 준비
- 프로그래머스 카카오
- 개발자 취준
- 알고리즘공부
- 취업준비
- 코테준비
- 개발자 면접 준비
- 코딩테스트 공부
- 알고리즘
- 코딩테스트
- java
- 코테공부
- 백엔드 개발자 취업 준비
- 자바
- 개발자 취업 준비
- 제로베이스 백엔드 스쿨
- 취업 준비
- 알고리즘 공부
- 주니어 개발자 취업 준비
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |