반응형

Java 116

[Java] 백준알고리즘 #1316 그룹 단어 체커

문제의 조건에 부합하는 그룹 단어의 갯수를 출력해주는 프로그램을 작성해보자. 그룹단어의 조건에 포함되지 않는 것은 어떤 알파벳이 연속적으로 나오지 않는 경우이다. ex) aaaabbbbccccdddda => a,b,c,d 모두 연속적으로 나오나 a가 맨 뒤에 다시 나오므로 그룹단어가 아님. 이제 우리는 이 단어가 그룹 단어인지 아닌지 판별하기 위해 각 알파벳을 저장해 둘 배열을 만든 후, 각 알파벳의 등장 여부를 판별하는 플래그를 세워 판단하면 되겠다. 이를 위해 배열을 먼저 만든다. boolean[] flag = new boolean[26]; String word = sc.next(); flag[word.charAt(0) - 97] = true; flag 라는 배열을 사용하기 위해 입력받은 문자를 한개..

[Java] 백준알고리즘 #25206 너의 평점은

전공과목, 학점, 전공평점을 입력받고 학점평균을 구하는 문제이다. 먼저 전체 코드를 보자. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double sum = 0; double count = 0; for (int i = 0; i < 20; i++) { String object = sc.next(); double val = sc.nextDouble(); String grade = sc.next(); count += val; switch (grade) { case "A+": sum += val * 4.5; break; case "A0..

[Java] 백준알고리즘 #11718 그대로 출력하기

입력받은 문자열을 그대로 출력하는 문제. 입력이 몇줄이나 주어지는지 알 수 없다는 것에만 주의하면 간단히 해결 가능. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String text = sc.nextLine(); System.out.println(text); } sc.close(); } } hasNextLine()함수로 다음에 올 문자열이 있는 경우만 출력해주면 된다.

[Java] 백준알고리즘 #5622 다이얼

다이얼을 돌리는 시간을 구하는 문제. 먼저 아스키 코드표를 보자. 문제에서 대문자로 이루어진 단어가 주어진다고 했으니, 아스키코드표를 활용하면 쉽게 범위를 특정할 수 있다. 입력받은 문자를 한글자씩 잘라 아스키코드 변환 (int형변환)해준 후 각 범위에 따라 시간을 1초씩 추가해주면 된다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); int time = 0; for (int i = 0; i < a.length(); i++) { int tmp = a.charAt(i) - 65; time += ..

[Java] 백준알고리즘 #2908 상수

두 수를 뒤집은 후 크기를 비교하는 문제. int형으로 처리해서 각 자리수를 구해 붙이는 방법도 있으나 '문자열' 단계 이므로 문자열로 받아서 처리해보자. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); String b = sc.next(); String atmp = ""; String btmp = ""; for (int i = 0; i < 3; i++) { atmp = atmp + a.charAt(2 - i); btmp = btmp + b.charAt(2 - i); } int arev = In..

[Java] 백준알고리즘 #1152 단어의 개수

단어의 개수를 찾는 얼핏 간단해 보이는 문제이다. 공백을 기준으로 단어를 찾기 위해 split()함수를 사용했다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String text = sc.nextLine(); text = text.trim(); String[] ary = text.split(" "); System.out.println(ary.length); sc.close(); } } trim() 함수를 이용해 앞뒤 공백을 지우고 split()함수로 공백을 기준으로 잘라 ary 배열에 저장한 후, 이 배열의 길이를 출력해주는 코..

[Java] 백준알고리즘 #10811 바구니 뒤집기

이전에 풀어보았던 바구니안에 공 넣기와 공 바꾸기와 유사한 문제이다. 2023.09.29 - [Java/백준알고리즘] - [Java] 백준알고리즘 #10810 공 넣기 [Java] 백준알고리즘 #10810 공 넣기 바구니에 공을 넣은 후 바구니에 들어 있는 공을 확인하는문제. 먼저 바구니의 수(n)만큼 배열을 만든다. int n = sc.nextInt(); int m = sc.nextInt(); int[] basket = new int[n]; 이후 반복문을 통해 3개의 수를 입 sehyeok.tistory.com 2023.09.29 - [Java/백준알고리즘] - [Java] 백준알고리즘 #10813 공 바꾸기 [Java] 백준알고리즘 #10813 공 바꾸기 공 넣기와 유사한 문제. 오히려 더 간단해졌다..

[Java] 백준알고리즘 #10813 공 바꾸기

공 넣기와 유사한 문제. 오히려 더 간단해졌다. 2023.09.29 - [Java/백준알고리즘] - [Java] 백준알고리즘 #10810 공 넣기 [Java] 백준알고리즘 #10810 공 넣기 바구니에 공을 넣은 후 바구니에 들어 있는 공을 확인하는문제. 먼저 바구니의 수(n)만큼 배열을 만든다. int n = sc.nextInt(); int m = sc.nextInt(); int[] basket = new int[n]; 이후 반복문을 통해 3개의 수를 입 sehyeok.tistory.com 전체 코드는 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new S..

[Java] 백준알고리즘 #10810 공 넣기

바구니에 공을 넣은 후 바구니에 들어 있는 공을 확인하는문제. 먼저 바구니의 수(n)만큼 배열을 만든다. int n = sc.nextInt(); int m = sc.nextInt(); int[] basket = new int[n]; 이후 반복문을 통해 3개의 수를 입력받고, i부터 j까지의 바구니에 k 값을 넣는다. for (int x = 0; x < m; x++) { int i = sc.nextInt(); int j = sc.nextInt(); int k = sc.nextInt(); for (int y = i; y

[Java] 백준알고리즘 #2941 크로아티아 알파벳

replace 함수를 이용하면 간단하다. 알파벳의 개수는 길이를 반환해주는 length 함수를 이용. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); a = a.replaceAll("c=", "_"); a = a.replaceAll("c-", "_"); a = a.replaceAll("dz=", "_"); a = a.replaceAll("d-", "_"); a = a.replaceAll("lj", "_"); a = a.replaceAll("nj", "_"); a = a.replaceAll("s=..

반응형