목록SWEA/D2 (25)
으하하 공부일기
[문제] 패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라. [제약 사항] 각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 길이가 30인 문자열이 주어진다. [출력] 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다. 문제 풀기 2007. 패턴 마디의 길이 [풀이] substring을 이용하여 반복을 수행하며 마디를 찾는다. import java.util.Scanner; class Solution { public st..
[문제] 크기가 N인 파스칼의 삼각형을 만들어야 한다. 파스칼의 삼각형이란 아래와 같은 규칙을 따른다. 1. 첫 번째 줄은 항상 숫자 1이다. 2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다. N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오. [제약 사항] 파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10) [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어진다. [출력] 각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다. 삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들..
[문제] N x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다. 아래는 N=5 의 예이다. M x M 크기의 파리채를 한 번 내리쳐 최대한 많은 파리를 죽이고자 한다. 죽은 파리의 개수를 구하라! 예를 들어 M=2 일 경우 위 예제의 정답은 49마리가 된다. [제약 사항] 1. N 은 5 이상 15 이하이다. 2. M은 2 이상 N 이하이다. 3. 각 영역의 파리 갯수는 30 이하 이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고, 다음 N 줄에 걸쳐 N x N 배열이 주어진다. [출력] 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (..
[문제] "level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다. 단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램을 작성하라. [제약 사항] 각 단어의 길이는 3 이상 10 이하이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 하나의 단어가 주어진다. [출력] 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 문제 풀기 1989. 초심자의 회문 검사 [풀이] arr1 배열에는 입력받은 문자열을 단어 하나하나 분리하여 담아준다. arr2..
[문제] 1부터 N까지의 숫자에서 홀수는 더하고 짝수는 뺐을 때 최종 누적된 값을 구해보자. [예제 풀이] N이 5일 경우, 1 – 2 + 3 – 4 + 5 = 3 N이 6일 경우, 1 – 2 + 3 – 4 + 5 – 6 = -3 [제약사항] N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10) [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어진다. [출력] 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 누적된 값을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 문제 풀기 1986. 지그재그 숫자 [풀이] 나머지 연산자(%)를 이용하여 짝수와 홀수일 경우를 나눠서 sum 변수에 값을..
[문제] 10개의 수를 입력 받아, 최대 수와 최소 수를 제외한 나머지의 평균값을 출력하는 프로그램을 작성하라. (소수점 첫째 자리에서 반올림한 정수를 출력한다.) [제약 사항] 각 수는 0 이상 10000 이하의 정수이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다. [출력] 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 문제 풀기 1984. 중간 평균값 구하기 [풀이] import java.util.Scanner; class Solution { public static void main(Str..
[문제] 학기가 끝나고, 학생들의 점수로 학점을 계산중이다. 학점은 상대평가로 주어지는데, 총 10개의 평점이 있다. 학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다. 각각 아래 비율로 반영된다. 10 개의 평점을 총점이 높은 순서대로 부여하는데, 각각의 평점은 같은 비율로 부여할 수 있다. 예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다. 입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고, 학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때, K 번째 학생의 학점을 출력하는 프로그램을 작성하라. [제약사항] 1. N은 항상 10의 배수이며, 10이상 100이하의 정수이다. (10 ≤ N ≤ 100) 2. K는 1 이상 N..
[문제] N X N 크기의 단어 퍼즐을 만들려고 한다. 입력으로 단어 퍼즐의 모양이 주어진다. 주어진 퍼즐 모양에서 특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작성하라. [예제] N = 5, K = 3 이고, 퍼즐의 모양이 아래 그림과 같이 주어졌을 때 길이가 3 인 단어가 들어갈 수 있는 자리는 2 곳(가로 1번, 가로 4번)이 된다. [제약 사항] 1. N은 5 이상 15 이하의 정수이다. (5 ≤ N ≤ 15) 2. K는 2 이상 N 이하의 정수이다. (2 ≤ K ≤ N) [입력] 입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다. 다음 줄부터 각 테스트 케이스가 주어진다. 테스트 케이스의 첫 번째 줄에는 단어 퍼즐의 가로, 세로 길이 N 과, 단어의 길이 K 가..