구현 156

[백준 03059] 등장하지 않는 문자의 합 [Java]

문제 알파벳 대문자로 구성되어있는 문자열 S가 주어졌을 때, S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 구하는 프로그램을 작성하시오. 문자열 S가 “ABCDEFGHIJKLMNOPQRSTUVW” 일 때, S에 등장하지 않는 알파벳 대문자는 X, Y, Z이다. X의 아스키 코드 값은 88, Y는 89, Z는 90이므로 이 아스키 코드 값의 합은 267이다. 알파벳 대문자의 아스키 코드 값은 다음과 같다. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 입력 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번..

[백준 03058] 짝수를 찾아라 [Java]

문제 7개의 자연수가 주어질 때, 이들 중 짝수인 자연수들을 모두 골라 그 합을 구하고, 고른 짝수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 13, 78, 39, 42, 54, 93, 86가 주어지면 이들 중 짝수는 78, 42, 54, 86이므로 그 합은 78 + 42 + 54 + 86 = 260 이 되고, 42 < 54 < 78 < 86 이므로 짝수들 중 최솟값은 42가 된다. 입력 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 7개의 자연수가 공백으로 구분되어 있다. 입력으로 주어지는 자연수는 1보다 크거나 같고, 100보다 작거나 같다. 7개의 자연수 중 적..

[백준 03047] ABC [Java]

문제 세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다. 세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 수 A, B, C가 주어진다. 하지만, 순서는 A, B, C가 아닐 수도 있다. 세 수는 100보다 작거나 같은 자연수이다. 둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다. 출력 주어진 세 수를 주어진 출력 순서대로 출력하면 된다. 풀이 입력으로 주어지는 세 수가 항상 오름차순이 아니므로 입력받은 후 정렬을 해주어야 한다. 정렬 후 두번째 줄에서 입력받은 글자의 순서에 따라 수를 출력해주면 된다. ASCII값을 이용해 맞는 위치의 수를 출력해주자. 소스코드 보기 출처 3047..

[백준 03004] 체스판 조각 [Java]

문제 상근이는 3003번에서 동혁이가 발견한 체스판을 톱으로 자르려고 한다. 상근이는 체스판을 최대 N번 자를 수 있으며, 변에 평행하게만 자를 수 있다. 또, 자를 때는 체스판의 그 변의 한쪽 끝에서 다른쪽 끝까지 잘라야 한다. 자른 후에는 조각을 이동할 수 없다. 이때, 최대 몇 조각을 낼 수 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100) 출력 첫째 줄에 상근이가 얻을 수 있는 조각의 최댓값을 출력한다. 풀이 한 변에서 반대편 변까지 직선을 그어 자르는 문제다. 이 때 잘려서 생긴 조각이 최대로 만들어져야 한다. 때문에 가로, 세로를 번갈아가며 자르면 된다. 최소 1번 이상 자르기 때문에 아래와 같이 가로와 세로에 대해 조각의 개수가 증가한다. N 가로..

[백준 02997] 네 번째 수 [Java]

문제 상근이는 등차수열을 이루는 정수 4개를 골랐다. 이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다. 그 다음 이렇게 고른 수 4개를 노래로 만들어서 외우고 다닌다. 어느 날, 상근이는 자신이 고른 4개 수 중 1개를 까먹었다. 상근이가 기억하고 있는 수 세 개가 주어졌을 때, 까먹은 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 고른 4개의 수 중 3개가 주어진다. 이 수는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 첫째 줄에 까먹은 수를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다. 풀이 입력받은 세 정수에 대해 정..

[백준 02985] 세 수 [Java]

문제 수학을 못해도 너무 못하는 상근이는 정인이에게 과외를 받고 있다. 오늘은 상근이가 사칙연산을 배우는 날이다. 정인이는 공책에 숫자 세개로 이루어진 등식을 적어주었다. (식은 자연수와 등호(=), 그리고 더하기, 빼기, 곱하기, 나누기 기호(+-*/)로 이루어져 있다) 상근이는 이런 등식을 사칙연산을 모르는 창영이게 자랑하다가 그만... 창영이는 숫자를 제외한 기호를 모두 지워버리고 말았다. 세 정수가 주어졌을 때, 원래 정인이가 적어준 등식을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정인이가 적어준 세 정수가 주어진다. 이 수는 100보다 작거나 같은 자연수이다. 항상 정답이 존재하는 경우만 입력으로 주어진다. 출력 첫째 줄에 정인이가 원래 적어준 등식을 출력한다. 입력으로 주어진 숫자의 순서..

[백준 02953] 나는 요리사다 [Java]

문제 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5점까지 있다. 각 참가자가 얻은 점수는 다른 사람이 평가해 준 점수의 합이다. 이 쇼의 우승자는 가장 많은 점수를 얻은 사람이 된다. 각 참가자가 얻은 평가 점수가 주어졌을 때, 우승자와 그의 점수를 구하는 프로그램을 작성하시오. 입력 총 다섯 개 줄에 각 참가자가 얻은 네 개의 평가 점수가 공백으로 구분되어 주어진다. 첫 번째 참가자부터 다섯 번째 참가자까지 순서대로 주어진다. 항상 우승자가 유일한 경우만 입력으로 주어진다. 출력 첫째 줄에 우승자의 번호와 그가 얻은 점수를 출력한다. 풀이 5개의 줄에 주어지는..

[백준 01308] D-Day [Java]

문제 캠프에 오게 된 송유진은 캠프가 너무 지루해서 오늘로부터 캠프가 끝날 때 까지 며칠이나 남았는지 알아보고 싶었다. 그런데 캠프는 비상식적으로 길지도 몰라서 (윤년을 포함할지도 모른다) 손으로 하나하나 세기에는 힘들어 보였다. 더욱 정확한 계산을 위해, 유진이는 윤년이 정해지는 기준을 찾아보았고, 그것은 다음과 같았다. 서력기원 연수가 4로 나누어떨어지는 해는 우선 윤년으로 한다. (2004년, 2008년, …) 100으로 나누어떨어지는 해는 평년으로 한다. (2100년, 2200년, …) 400으로 나누어떨어지는 해는 다시 윤년으로 한다. (1600년, 2000년, …) 그런데 캠프가 너무 길 경우, 사춘기인 유진이는 캠프에 무단으로 빠질지도 모른다. 입력 첫째 줄에 오늘의 날짜가 주어지고, 두 번..