JAVA - 백준 [BAEK JOON]
[백준] 8958번 : OX퀴즈 - JAVA [자바]
[백준] 8958번 : OX퀴즈 - JAVA [자바]
2020.03.09https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 각 케이스마다 점수를 출력한다. O 의 연속 개수 만큼 점수를 누적하여 합산하고 X가 나오면 누..
[백준] 5543번 : 상근날드 - JAVA [자바]
[백준] 5543번 : 상근날드 - JAVA [자바]
2020.03.04https://www.acmicpc.net/problem/5543 5543번: 상근날드 문제 상근날드에서 가장 잘 팔리는 메뉴는 세트 메뉴이다. 주문할 때, 자신이 원하는 햄버거와 음료를 하나씩 골라, 세트로 구매하면, 가격의 합계에서 50원을 뺀 가격이 세트 메뉴의 가격이 된다. 햄버거는 총 3종류 상덕버거, 중덕버거, 하덕버거가 있고, 음료는 콜라와 사이다 두 종류가 있다. 햄버거와 음료의 가격이 주어졌을 때, 가장 싼 세트 메뉴의 가격을 출력하는 프로그램을 작성하시오. 입력 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 www.acmicpc.net 문제 백준 문제를 보다가 최근에 if문 카테고리로 추가된 문제다. 20.03.13 ) if 문 카테고리에서 실습 1로 변경되었다. 20.1..
[백준] 1546번 : 평균 - JAVA [자바]
[백준] 1546번 : 평균 - JAVA [자바]
2020.03.02https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 정답과의 상대/절대 오차는 10-2, 즉 0.01 까지 허용한다. 두 번째 줄에 주어지는 수는 공백을 기준으로 주어진다. 입력받은 값중 최댓값 M 을 사용하여 모든 점수에 (점수/M)*100 으로 연산한 뒤 새로운 평균을 구해야 한다. 2가지 방법을 이용하여 풀이한다. 먼저 가장 기본적인 배열을 이용한 방법을 사용할 것이다. 또한 다른 방법으..
[백준] 3052번 : 나머지 - JAVA [자바]
[백준] 3052번 : 나머지 - JAVA [자바]
2020.03.02https://www.acmicpc.net/problem/3052 3052번: 나머지 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었 www.acmicpc.net 문제 매우 간단한 문제다! 2가지 풀이방법을 제시한다 이 문제는 우리가 흔히 쓰는 배열을 써서 풀어도 되지만 사실 hashset 을 쓰면 더..
[백준] 2577번 : 숫자의 개수 - JAVA [자바]
[백준] 2577번 : 숫자의 개수 - JAVA [자바]
2020.02.28https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제 문제 자체는 그리 어렵지 않은 것 같다. 문자열 분리 방법만 알고있다면 매우 쉬울거라 본다. 3가지 방법을 제시한다. 먼저 기초입력(Scanner)과 함께 가장 기본적인 알고리즘으로 풀어볼 것이다. 그리고 나머지 두 가지 방법은 BufferedReader 를 이용하여 알고리즘을 달리하여 풀어보고자 한다. 풀이 - 방법 1 import java.util.Scanner; public class Main { public static void main(..
[백준] 2562번 : 최댓값 - JAVA [자바]
[백준] 2562번 : 최댓값 - JAVA [자바]
2020.02.27https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. www.acmicpc.net 문제 매우 간단한 문제다! 3가지 풀이방법을 제시한다. 먼저 배열을 이용하여 풀이를 할 것이다. 이 때 Scanner 와 BufferedReader, 두 가지 방법을 이용하여 풀어 볼 것이고, 나머지 하나는 배열을 이용하지 않고 풀어보려 한다. 풀이 - 방법 1 import java.util.Scanner;..
[백준] 10818번 : 최소, 최대 - JAVA [자바]
[백준] 10818번 : 최소, 최대 - JAVA [자바]
2020.02.27https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 N 개의 정수를 공백으로 구분해서 주어진다. 3가지 풀이방법을 제시한다. 기본적으로 배열 문제인 만큼 배열을 이용한 방법을 통해 입력방법을 달리하여 Scanner 와 BufferedReader 을 통해 입력받아본다. 그리고 배열을 이용하지 않는 방법을 통해 풀어보고자 한다. 즉, 아래와 같다. 배열 + Scanner 배열..
[백준] 1110번 : 더하기 사이클 - JAVA [자바]
[백준] 1110번 : 더하기 사이클 - JAVA [자바]
2020.02.26https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = www.acmicpc.net 문제 그렇게 어렵지는 않은 문제다. 알고리즘 자체가 매우 단순한 유형이라 조금만 살펴보면 금방 풀 수 있다. 2가지 풀이방법을 제시..
[백준] 10951번 : A+B - 4 - JAVA [자바]
[백준] 10951번 : A+B - 4 - JAVA [자바]
2020.02.24https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 간단한 문제지만 의외로 종료시점을 몰라 틀리는 경우들이 많은 것 같다. ※ 주의할 점 두 정수는 공백으로 나뉘어 구분된다. 입력의 종료는 더이상 읽을 수 있는 데이터 (EOF) 가 없을 때 종료한다. 3가지 방법을 사용하여 풀이한다. 먼저 입력 방식의 차이를 두어 Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법으로 풀어볼 것이고, 나머지 하나는 문자열 분리 방법에 차이를 두어 풀어 볼 것이다. 즉 다음 3가지로 풀어볼 것이다. Scann..
[백준] 10952번 : A+B - 5 -JAVA [자바]
[백준] 10952번 : A+B - 5 -JAVA [자바]
2020.02.23https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 두 정수는 공백으로 구분되어 주어진다. 테스트를 종료하는 기점은 0 두 개를 입력받은 시점이다. 3가지 풀이 방법을 제시한다 먼저 입력 방법을 달리하여 풀이하는 2가지, 마지막으로 시간을 더욱 단축시킬 수 있는 방법을 알아보고자 한다. 아래 이전에 풀이방법을 참고해보아도 좋을 것 같다. https://st-lab.tistory.com/33?category=830885 [백준] 11021번 : A+B - 7 - JAVA [자바] https://www.acmicpc.net/pro..