Java 23

#13 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 연속된 자연수의 합

N입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방법의 가짓수를 출력하는 프로그램을 작성 만약 N=15이면 7+8=15 4+5+6=15 1+2+3+4+5=15 와 같이 총 3가지의 경우가 존재한다. 15 3 import java.util.Scanner; public class Inflearn29 { public int solution(int N,int A[]) { int answer = 0; int sum =0; int lt =0; for(int rt=0; rt=N) { sum -= A[lt++]; if(sum == N) { answer ++; } } } return answer; } public static void main(Strin..

Java 2023.07.26

#12 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 매출액의 종류

현수의 아빠는 제과점을 운영한다. 현수아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 매출액의 종류를 각 구간별로 구하라고 했다 만약 N=7이고 7일 간의 매출기록이 아래와 같고, 이때 K=4이면 20 12 20 10 23 17 10 각 연속 4일간의 구간의 매출종류는 첫 번째 구간은 [20, 12, 20, 10]는 매출액의 종류가 20, 12, 10으로 3이다. 두 번째 구간은 [12, 20, 10, 23]는 매출액의 종류가 4이다. 세 번째 구간은 [20, 10, 23, 17]는 매출액의 종류가 4이다. 네 번째 구간은 [10, 23, 17, 10]는 매출액의 종류가 3이다. N일간의 매출기록과 연속구간의 길이 K가 주어지면 첫 번째 구간부터 각 구간별 매출액의 종류를 출력하는 프로그..

Java 2023.07.26

#11 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 학습 회장 ( Hash )

학급 회장을 뽑는데 후보로 기호 A, B, C, D, E 후보가 등록을 했다. 투표용지에는 반 학생들이 자기가 선택한 후보의 기호(알파벳)가 쓰여져 있으며 선생님은 그 기호를 발표하고 있다. 선생님의 발표가 끝난 후 어떤 기호의 후보가 학급 회장이 되었는지 출력하는 프로그램을 작성. 반드시 한 명의 학급회장이 선출되도록 투표결과가 나왔다고 가정 첫 줄에는 반 학생수 N(5 max 를 만족하는 key 값을 answer에 저장 } } return answer; } public static void main(String[] args) { Inflearn31 inflearn31 = new Inflearn31(); Scanner scanner = new Scanner(System.in); int N = scann..

Java 2023.07.22

#10 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 최대 길이 연속 부분 수열

0과 1로 구성된 길이가 N인 수열이 주어진다. 이 수열에서 최대 k번을 0을 1로 변경할 수 있음 최대 k번의 변경을 통해 이 수열에서 1로만 구성된 최대 길이의 연속부분수열을 찾는 프로그램을 작성 만약 길이가 길이가 14인 다음과 같은 수열이 주어지고 k=2라면 1 1 0 0 1 1 0 1 1 0 1 1 0 1 만들 수 있는 1이 연속된 연속부분수열은 1 1 0 0 | 1 1 1 1 1 1 1 1 | 0 1 이고 그 길이는 8 을 만족하는 프로그램 작성 import java.util.Scanner; public class Inflearn30 { public int solution(int N,int K, int[] A) { int answer = 0; // 출력 변수 int count =0; // 0 ..

Java 2023.07.22

#8 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 펠린드롬

주어진 문자열이 "펠린드롬" 인지 확인하는 문제 import java.util.Scanner; // 펠린드롬 ( replaceAll() 정규식 문제 ) // 팰린드롬 : 앞에서 읽을때나 뒤에서 읽을 때나 같은 문자열을 말함 // 주어진 문자열이 팰린드롬인지 확인하는 문제 // replaceAll(pattern , str) -> pattern(정규표현식) 과 일치히는 문자열들을 str(문자열) 로 바꾸어줌 public class Inflearn8 { public String solution(String str) { String answer = "NO"; str = str.toLowerCase().replaceAll("[^A-Z]","..

Java 2023.02.13

#7 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 회문 문자열

회문 문자열 : 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 뜻함 문자열이 입력되었을 때 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 "NO" 를 출력하는 프로그램을 작성 해당 문제는 대소문자를 구별하지 않는다. . . 입력 : gooG 출력 : YES import java.util.Scanner; // 회문문자열비교 // 대소문자 구분없이 뒤집어도 같은 문자인지 확인하는 문제 public class Inflearn7 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); str= str.toLowerCase(); // 받은 문자열을..

Java 2023.02.10

#6 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 중복문자제거

소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지한다. . . 입력 : ksekkset 출력 : kset import java.util.Scanner; // 주어진 문자열에서 중복문자 제거 문제 // charAt() 의 활용 public class Inflearn6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); String answer = ""; for(int i=0; i

Java 2023.02.10

#5 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 특정 문자 뒤집기

영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성 . . 입력: a#b!GE*T@S 출력 : S#T!EG*b@a import java.util.Scanner; // 특수문자가 무작위로 섞여있는 문자열에서 특수문자를 제외한 문자들을 서로 교환하는 문제 // public class Inflearn5 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); String answer = ""; char[] s = str.toCharArray(); int left = 0..

Java 2023.02.10

#4 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 단어 뒤집기

N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성 . . 입력 : 3 good Time Big 출력: doog emiT giB import java.util.ArrayList; import java.util.Scanner; public class Inflearn4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ArrayList answer = new ArrayList(); // arraylist 선언 int n = scanner.nextInt(); String[] A = new String[n]; for(int i=0; i< A.length; i++) { A[i] = ..

Java 2023.02.09