본문 바로가기

728x90

Study

(63)
[백준 자바JAVA] 2231번 - 분해합 https://www.acmicpc.net/problem/2231 ● 문제 분해합이란? 주어진 수와 주어진 수의 각자리를 더해서 나온 값이다. 예를들어 198의 분해합은 198 + 1 + 9 + 8 = 216이 된다. ● 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); int result = 0; for(int i = 0; i < n; i++) { int sum = 0; int num = i; while(num != 0) { sum += num % 10; num = num / 10; } if(sum + ..
[백준 자바JAVA] 10250번 - ACM호텔 https://www.acmicpc.net/problem/10250 ● 문제 처음 문제를 보는 순간 글씨가 많아 겁을 먹었지만 막상 읽어보면 단순한 문제라는것을 알 수 있다. 먼저 조건을 보자면 1. 엘리베이터로부터 가까운 방 우선 배정 2. 거리가 같은 경우 층수가 낮은 방 우선 배정 이다. 예를 들어 105호와 201호 방이 있을 경우 엘리베이터에서 더 가까운 201호를 선택하게 된다. 또한 105호와 205호가 방이 비어있을 경우 층수가 더 낮은 105호를 선택하게 된다. 이를 이용하여 순서대로 고객들을 배정해 준다면 원하는 고객의 호수를 구할 수 있다. ● 코드 import java.util.*; public class Main { public static void main(String[] arg..
[백준 자바JAVA] 4153번 - 직각삼각형 https://www.acmicpc.net/problem/4153 ● 문제 직각삼각형의 피타고라스공식만 알고있다면 쉽게 풀 수 있는 문제이다. 피타고라스 공식은 ● 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); while(true) { int x = s.nextInt(); int y = s.nextInt(); int z = s.nextInt(); if(x == 0 && y == 0 && z == 0) { s.close(); break; } if(x * x + y * y == z * z) System.out.println("right"); ..
[백준 자바JAVA] 1085번 - 직사각형에서 탈출 https://www.acmicpc.net/problem/1085 ● 문제 처음에 문제만보고는 이해를 못하였지만 직접 그림판에 그려보고나서 문제를 이해하게 되었다. 주어진 점 x = 6, y = 2에서 모든 면에 닿는 거리를 계산해서 최솟값을 출력해주면된다. 기준점을 기준으로 왼쪽면에 닿는 거리는 x의 값인 6 오른쪽면에 닿는 거리는 전체 x의 값(w) 10에서 6을 뺀 4 아랫쪽면에 닿는 거리는 y의 값인 2 윗쪽면에 닿는 거리는 전체 y의 값(h) 3에서 2를 뺀 1 이므로 출력이 1이 된다. ● 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System...
[백준 자바JAVA] 1264번 - 모음의 개수 https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net ● 문제 문장을 입력 받은 뒤 영어의 모음 a, e, i, o, u 의 갯수를 출력해 주고 #을 입력받으면 프로그램을 종료하는 알고리즘이다. ● 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); while(true..
[백준 자바JAVA] 1157번 - 단어 공부 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net ● 문제 단어를 입력받고 해당 단어들의 알파벳의 아스키코드를 비교해 가장 많이 출력된 알파벳을 구하는 문제이다. ● 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String aString = s.nextLine().toUpperCase(); int cnt[] = ..
[백준 자바JAVA] 1552번 - 단어의 개수 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net ● 문제 해당 문제를 보자마자 떠오른 생각은 Split을 이용하여 단어의 갯수를 세야겠다는 생각이 바로 들었다. 다만 코드를 짜면서 주의할 점이 있었다. 코드를 보면서 알아보자. ● 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in)..

728x90