Java 21

[SWEA] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (자바/JAVA)

1215. [S/W 문제해결 기본] 3일차 - 회문1 D3 "기러기", "토마토", "스위스"와 같이 똑바로 읽어도 거꾸로 읽어도 똑같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.8x8 평면 글자판에서 제시된 길이를 가진 회문의 개수를 구하라. 위와 같은 글자판이 주어졌을 때, 길이가 5인 회문은 붉은색 테두리로 표시된 4개이므로 4를 반환하면 된다.[제약 사항]각 칸의 들어가는 글자는 'A', 'B', 'C' 중 하나이다.ABA도 회문이며, ABBA도 회문이다. A 또한 길이 1짜리 회문이다.가로 또는 세로로 이어진 회문의 개수만 센다.아래 그림에서 노란색 경로를 따라가면 길이 7짜리 회문이 되지만 직선이 아니기 때문에 인정되지 않는다. [입력]총 10개의 테스트 케이스가 주어진다.각..

[SWEA] 13229. 일요일 (자바/JAVA)

13229. 일요일 D3 오늘의 요일을 나타내는 문자열 S가 주어진다. S는 “MON”(월), “TUE”(화), “WED”(수), “THU”(목), “FRI”(금), “SAT”(토), “SUN”(일) 중 하나이다.다음 (즉, 내일 이후의 가장 빠른) 일요일까지는 며칠 남았을까? [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 하나의 줄로 이루어진다. 각 줄에는 문자열 S가 주어진다. [출력]각 테스트 케이스마다, 다음 일요일까지 며칠 남았는지를 한 줄에 하나씩 출력한다.입력3SUNSATMON 출력#1 7#2 1#3 6[코드]import java.io.*;import java.util.*;public class Solution { public static void main(Str..

[SWEA] 7728. 다양성 측정 (자바/JAVA)

7728. 다양성 측정 D3Box에 담기 숫자는 다양성을 가지고 있다. 다양성이란, 숫자를 구성하는 수의 종류를 의미한다.예를 들어서 1512 라는 숫자는 ‘1’, ‘5’, ‘2’로 구성되어 있기 때문에 다양성이 3이다.숫자가 주어졌을 때 그 숫자의 다양성을 구하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T(1 ≤ T ≤ 100)가 주어진다.각 테스트 케이스의 첫 번째 줄에는 다양성을 체크하고 싶은 숫자 X(1 ≤ X ≤ 109) 가 주어진다.[출력]각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,주어진 숫자의 다양성을 출력하라. 입력2151220170310// 테스트 케이스 개수// 첫 번째 테스트 케이스, X = 1512 출력#1 3..

[SWEA] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (자바/JAVA)

1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 D3다음과 같이 두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해 보아라.2 5 = 2 X 2 X 2 X 2 X 2 = 323 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729[제약 사항]java: import java.util.Scanner;c/c++: #include를 제외한 나머지 라이브러리 사용을 금한다.총 10개의 테스트 케이스가 주어진다.결과 값은 Integer 범위를 넘어가지 않는다. [입력]각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 두 개의 숫자가 주어진다.[출력]#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이..

[SWEA] 10570. 제곱 팰린드롬 수 (자바/JAVA)

10570. 제곱 팰린드롬 수 D3Box에 담기 앞으로 읽어도 뒤로 읽어도 똑같은 문자열을 팰린드롬 혹은 회문이라고 부른다. 어떠한 실수 N이 양의 정수이며, 십진수로 표현했을 때 팰린드롬이면 이 수를 팰린드롬 수라고 부른다.어떠한 양의 정수 N에 대해서, N과 √N이 모두 팰린드롬이면 이 수를 제곱 팰린드롬 수 라고 부른다.예를 들어, 121은 제곱 팰린드롬 수인데, 121이 팰린드롬이며, 121의 제곱근인 11 역시 팰린드롬이기 때문이다. A 이상 B 이하 제곱 팰린드롬 수는 모두 몇 개인가? [입력]첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스의 첫 번째 줄에 A, B 가 주어진다. (1 ≤ A ≤ B ≤ 1000)..

[SWEA] 1289. 원재의 메모리 복구하기 (자바/JAVA)

1289. 원재의 메모리 복구하기 D3 원재가 컴퓨터를 만지다가 실수를 저지르고 말았다. 메모리가 초기화된 것이다.다행히 원래 메모리가 무슨 값이었는지 알고 있었던 원재는 바로 원래 값으로 되돌리려고 했으나 메모리 값을 바꿀 때 또 문제가 생겼다.메모리 bit중 하나를 골라 0인지 1인지 결정하면 해당 값이 메모리의 끝까지 덮어씌우는 것이다.예를 들어 지금 메모리 값이 0100이고, 3번째 bit를 골라 1로 설정하면 0111이 된다.원래 상태가 주어질 때 초기화 상태 (모든 bit가 0) 에서 원래 상태로 돌아가는데 최소 몇 번이나 고쳐야 하는지 계산해보자.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 메모리의 원래 값이 주어진다.메모리의 길이는 ..

[SWEA] 4406. 모음이 보이지 않는 사람 (자바/JAVA)

4406. 모음이 보이지 않는 사람 D3불의의 교통사고를 당한 당신은 얼마 후 자신의 인식 속에서 모음이라는 것이 사라진 것을 알게 되었다.알파벳 소문자 만으로 이루어진 단어를 당신은 어떤 식으로 보게 될까?알파벳에서 모음은 ‘a’, ‘e’, ‘i’, ‘o’, ‘u’의 다섯가지로 예를 들어 “congratulation”이라는 단어를 당신이 보게 되면 “cngrtltn”으로 인식하게 될 것이다.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 길이가 50이하이고 알파벳 소문자만으로 이루어진 단어가 주어진다. 이 단어에 모음이 아닌 문자(자음)이 적어도 하나는 들어있다는 것이 보장된다.[출력]테스트 케이스 T에 대한 결과는 “#T ”을 찍고, 각 테스트 케이스마다 ..

[SWEA] 12221. 구구단2 (자바/JAVA)

12221. 구구단2 D3 아기 석환이는 최근 구구단을 배웠다. 그래서 1 이상 9 이하의 자연수 두개를 곱셈할 수 있으나, 10 이상의 자연수를 곱셈하는 방법은 모른다.두 정수 A, B가 주어진다. 아기 석환이 두 정수를 곱셈할 수 있으면 곱을 출력하고, 아니면 -1을 출력하라.[입력]첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다. ∙ 첫 번째 줄에 두 정수 A, B가 주어진다. (1 ≤ A, B ≤ 20)[출력]각 테스트 케이스마다 정답을 출력하라.입력42 55 1010 109 9 출력#1 10#2 -1#3 -1#4 81[코드] import java.io.BufferedReader;im..

[SWEA] 10505. 소득 불균형 (자바/JAVA)

10505. 소득 불균형 D3통계 자료를 처리할 때, 평균이 전체 집단의 특징을 꼭 잘 표현하는 것은 아니다.예를 들어, 대다수의 국가에서는 적은 수의 사람이 국가 전체 소득의 꽤 많은 부분을 차지하기 때문에, 해당 국가의 평균 소득은 보통 사람들의 소득보다 높은 경우가 많다.당신은, n명의 사람의 소득이 주어졌을 때 이 중 평균 이하의 소득을 가진 사람들의 수를 출력해야 한다.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.이후 T개의 테스트 케이스에 대해 각각 두 줄로 주어진다.첫 번째 줄에는 정수의 개수 N 이 주어지며(1 ≤ N ≤ 10,000), 두 번째 줄에는 각 사람의 소득을 뜻하는 N개의 양의 정수가 주어진다. 이 정수들은 각각 1 이상 100,000 이하이다. [출력]각 테스트 케..

[SWEA] 6730. 장애물 경주 난이도 D3 (지바/JAVA)

6730. 장애물 경주 난이도 D3[문제] 참가자들은 가장 처음 블록 위에서 가장 마지막 블록의 위로 이동해야 한다.이 프로그램을 보고 있던 준홍이는 심심해서 이 장애물 경주가 얼마나 어려울지 난이도를 매겨 보기로 했다.참가자가 이동하는 도중에 다음 블록의 높이가 현재 블록의 높이보다 높다면 올라가야 할 것이고,다음 블록의 높이가 낮다면 내려가야 할 것이다.준홍이의 생각에 이 둘은 서로 다른 능력을 필요로 하므로,주어진 장애물에서 올라갈 때의 높이 변화와 내려갈 때의 높이 변화 둘 각각에 대해가장 높이 변화가 심한 부분을 난이도라 하기로 했다.예를 들어 위와 같이 장애물이 서 있다고 하자. 밑에 적힌 수가 직사각형 블록의 높이이다.이 때, 올라갈 때 가장 심한 높이 변화는 60이고 내려갈 때 가장 심한 ..