본문 바로가기

Algorithm

(25)
[Java] 백준 1032 : 명령 프롬프트 📌 문제 https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 📌 소스 코드 package baekjoon; import java.util.Scanner; public class Q1032 { // 명령 프롬프트 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int testCase = scanner.nextInt(); String[] strAr..
[Java] 백준 1157 : 단어 공부 📌 문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 📌 풀이 알파벳 개수를 확인하기 위하여 26칸의 배열 크기를 생성한다. (알파벳 개수가 26개) 반복하기에 앞서 입력한 값을 toUpperCase() 메서드를 통해 대문자로 변환 대문자의 범위는 십진수로 65~90이고, 소문자는 97~122이다. (아스키코드표 참고) 해당 알파벳의 인덱스 값을 가져오기 위해서 -65를 해주면 된다. A는 65 이므로 65를 빼면 0 C는 67 이므로 65를 빼면 2 Z는 90 이므로 65..
[Java] 백준 11944 : NN 1. 문제 https://www.acmicpc.net/problem/11944 11944번: NN 첫 번째 줄에는 N, M이 주어진다. (1 ≤ N, M ≤ 2016) www.acmicpc.net 2. 풀이 - n 보다 m 이 크면 n을 m 만큼만 출력하는 문제 3. 코드 package baekjoon; import java.util.Scanner; public class Q11944 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); StringBuilder sb = new StringBuilder(); fo..
[Java] 백준 2864번 : 5와 6의 차이 1. 문제 https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 첫째 줄에 두 정수 A와 B가 주어진다. (1
[Java] 백준 10820번 : 문자열 분석 1. 문제 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 2. 풀이 - while문에 조건을 줄 때 hasNextLine() 메소드를 활용했다. - hasNextLine() 메소드는 boolean 타입으로 반환된다. 즉 다음에 읽어 올 값이 있으면 true를 반환하고, 그렇지 않을 경우 false를 반환한다. 3. 코드 package baekjoon; import java.util.Scanner; public class Q10820 { p..
[Java] 백준 1100번 : 하얀 칸 1. 문제 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 2. 풀이 - 체스판이 지속적으로 바뀌는 것을 고려하여 boolean 변수를 선언하여 i가 바뀔 때마다 boolean 변수를 재정의 해주면 간단하게 풀 수 있다. 3. 코드 package baekjoon; import java.util.Scanner; public class Q1100_1 { public static void main(String[] args) { Scanner sca..
[Java] 백준 21312번 : 홀짝 칵테일 1. 문제 https://www.acmicpc.net/problem/21312 21312번: 홀짝 칵테일 정진이는 특별한 음료를 가지고 있다. 음료들은 정수로 표현되는 고유 번호를 가지고 있다. 정진이는 이 음료들을 섞어 만든 칵테일을 만든다. 이 칵테일은 홀짝 칵테일이라 부르는데, 홀짝 칵 www.acmicpc.net 2. 풀이 - 홀수가 하나 이상인 경우에 홀수 칵테일이 가장 맛있는 칵테일이다. 홀수 유무를 판단하기 위해서 boolean 변수 선언 3. 코드 package baekjoon; import java.util.Scanner; public class Q21312 { public static void main(String[] args) { Scanner scanner = new Scanner(..
[Java] 백준 6378번 : 디지털 루트 1. 문제 https://www.acmicpc.net/problem/6378 2. 풀이 - 예제 입력에 최대 1000자리까지 조건이 있어서 String으로 활용하여 풀이하였다. 몇 개의 숫자가 들어올지 모르니 while문에 true로 조건을 주었다. String으로 입력을 받고 문제에 입력의 마지막 줄은 0으로, 입력한 값이 0이면 멈춘다는 것을 알 수 있다. 중간에 while문을 true 조건을 주고 문자열 길이가 한자릿수 라면 break를 하고 그 값을 출력하게 조건을 주었다. 길이가 한자리 보다 크다면 안에 for문을 만들고 charAt을 사용하여 한 글자씩 쪼개어 아스키코드 값 0을 기준으로 빼서 그 값을 sum변수에 대입하여 더한다. 값이 int형 이므로 형 변환을 하고 입력했던 값에 대입하고,..