[SWEA] (D3) 1215. [S/W 문제해결 기본] 3일차 - 회문1
·
코딩테스트/SWEA
"기러기", "토마토", "스위스"와 같이 똑바로 읽어도 거꾸로 읽어도 똑같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.8x8 평면 글자판에서 제시된 길이를 가진 회문의 개수를 구하라.위와 같은 글자판이 주어졌을 때, 길이가 5인 회문은 붉은색 테두리로 표시된 4개이므로 4를 반환하면 된다.[제약 사항]각 칸의 들어가는 글자는 'A', 'B', 'C' 중 하나이다.ABA도 회문이며, ABBA도 회문이다. A 또한 길이 1짜리 회문이다.가로 또는 세로로 이어진 회문의 개수만 센다.아래 그림에서 노란색 경로를 따라가면 길이 7짜리 회문이 되지만 직선이 아니기 때문에 인정되지 않는다.[입력]총 10개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 찾아야 하는 회문의 길이가 ..
[SWEA] (D2) 9317. 석찬이의 받아쓰기
·
코딩테스트/SWEA
아기 석찬이는 내년에 초등학교에 입학하지만 아직 알파벳을 떼지 못했다.석찬이의 부모님은 그런 석찬이를 위해 알파벳을 공부할 수 있는 학습지를 구독하였다.학습지에는 길이 N의 알파벳 대소문자로만 이루어진 문자열이 주어지는데, 석찬이는 대소문자를 제대로 구분해서 이 문자열을 받아 적어야 한다.석찬이는 N 개의 문자를 받아 적는 데는 성공했지만, 틀리게 적은 문자들이 몇 개 보인다.석찬이가 몇 개의 문자를 올바르게 받아 적었는지 세어보자. [입력]첫 번째 줄에 테스트 케이스의 수 TC 가 주어진다.이후 TC 개의 테스트 케이스가 새 줄로 구분되어 주어진다.각 테스트 케이스는 다음과 같이 구성되어 있다. 첫 번째 줄에 문자열의 길이 N 이 주어진다. (1 ≤ N ≤ 100,000)두 번째 줄에 석찬이가 따라서 ..
[SWEA] (D3) 1208. [S/W 문제해결 기본] 1일차 - Flatten
·
코딩테스트/SWEA
한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다. 위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다.A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방하다. 다음은 제2회 덤프를 수행한 이후의 화면이다.A’부분의 상자를 옮겨..
[SWEA] (D3) 12368. 24시간
·
코딩테스트/SWEA
하루는 24시간이다. 24시간제 시계에서는 하루가 자정에서 시작해서 다음 날 자정에서 끝나며, 자정에서부터 지금까지 흐른 시간을 기준으로 시각을 표기한다. 예를 들어, 지금이 오후 8시라면 “20시”와 같은 꼴로 표현할 수 있다. 자정을 표기하는 유일한 방법은 “0시”임에 유의하라.지금은 자정에서부터 정확히 A시간이 지났다. 앞으로 정확히 B시간이 더 지난다면, 24시간제 시계에서 그 때는 몇 시일까? [입력]  첫 번째 줄에 테스트 케이스의 수 T가 주어진다.  각 테스트 케이스의 첫 번째 줄에는 두 개의 정수 A, B (0 ≤ A, B ≤ 23)이 공백 하나를 사이로 두고 순서대로 주어진다. [출력]  각 테스트 케이스마다, 현재 A시인 상황에서 앞으로 B시간이 지나면 몇 시가 되는지를 출력한다. [..
[SWEA] (D3) 15941. 평행사변형
·
코딩테스트/SWEA
정수 N이 주어질 때, 모든 변의 길이가 N인 가장 넓은 평행사변형의 넓이를 출력하라. 이 넓이는 정수임이 보장된다. [입력]첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다. 첫 번째 줄에 정수 N이 주어진다. (1 [출력]각 테스트 케이스 마다 한 줄씩 문제의 정답을 출력하라. [풀이]왜 D3 문제지?import java.util.*;import java.lang.*;import java.io.*; class Solution { public static void main(String[] args) throws Exception{ BufferedReader br = new Buff..
[SWEA] (D2) 21425. +=
·
코딩테스트/SWEA
C, C++, Python, Java 등의 언어에는 += 연산자가 있다. 정수형 변수 x, y가 있을 때 “x += y”를 하면 x에 저장된 값이 (기존에 x에 저장되어 있던 값) + (기존에 y에 저장되어 있던 값)으로 바뀐다. 현재 x에 저장된 값은 A, y에 저장된 값은 B이다. 당신은 “x += y” 또는 “y += x” 연산을 원하는 순서대로 원하는 만큼 수행하여, x나 y 둘 중 하나 이상에 저장된 값이 N 초과가 되게 하려고 한다. 연산을 합쳐서 최소 몇 번 수행해야 하는지 계산하는 프로그램을 작성하라. [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 한 개의 줄로 이루어진다. 각 줄에는 세 개의 정수 이 공백 하나씩을 사이로 두고 주어진다.테스트 케이스의 개수는 ..
[SWEA] (D2) 1983. 조교의 성적 매기기
·
코딩테스트/SWEA
학기가 끝나고, 학생들의 점수로 학점을 계산중이다. 학점은 상대평가로 주어지는데, 총 10개의 평점이 있다. 학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다. 각각 아래 비율로 반영된다.10 개의 평점을 총점이 높은 순서대로 부여하는데, 각각의 평점은 같은 비율로 부여할 수 있다. 예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다. 입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고, 학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때, K 번째 학생의 학점을 출력하는 프로그램을 작성하라. [제약사항]1. N은 항상 10의 배수이며, 10이상 100이하의 정수이다. (10 ≤ N ≤ 100) 2. K는 1 이상 N 이하의 정수..
[SWEA] (D2) 1946. 간단한 압축 풀기
·
코딩테스트/SWEA
원본 문서는 너비가 10인 여러 줄의 문자열로 이루어져 있다. 문자열은 마지막 줄을 제외하고 빈 공간 없이 알파벳으로 채워져 있고 마지막 줄은 왼쪽부터 채워져 있다. 이 문서를 압축한 문서는 알파벳과 그 알파벳의 연속된 개수로 이루어진 쌍들이 나열되어 있다. (예 : A 5    AAAAA) 압축된 문서를 입력 받아 원본 문서를 만드는 프로그램을 작성하시오. [예제]압축된 문서의 내용 A 10B 7C 5 압축을 풀었을 때 원본 문서의 내용 AAAAAAAAAABBBBBBBCCCCC [제약사항]1. 압축된 문서의 알파벳과 숫자 쌍의 개수 N은1이상 10이하의 정수이다. (1 ≤ N ≤ 10) 2. 주어지는 알파벳 Ci는 A~Z의 대문자이다. (i는 줄의 번호로 1~N까지의 수) 3. 알파벳의 연속된 개수로..
[SWEA] (D2) 1976. 시각 덧셈
·
코딩테스트/SWEA
시 분으로 이루어진 시각을 2개 입력 받아, 더한 값을 시 분으로 출력하는 프로그램을 작성하라. (시각은 12시간제로 표시한다. 즉, 시가 가질 수 있는 값은 1시부터 12시이다.) [제약 사항]시는 1 이상 12 이하의 정수이다. 분은 0 이상 59 이하의 정수이다.  [입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 4개의 수가 주어진다. 첫 번째 수가 시를 나타내고 두 번째 수가 분을 나타낸다. 그 다음 같은 형식으로 두 번째 시각이 주어진다. [출력]출력의 각 줄은 '#t'로 시작하고 공백을 한 칸 둔 다음, 시를 출력하고 공백을 한 칸 둔 다음 분을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시..
[SWEA] (D2) 2005. 파스칼의 삼각형
·
코딩테스트/SWEA
크기가 N인 파스칼의 삼각형을 만들어야 한다.파스칼의 삼각형이란 아래와 같은 규칙을 따른다.1. 첫 번째 줄은 항상 숫자 1이다.2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.  [제약 사항]파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)  [입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어진다. [출력]각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다. 삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들 사이에는 한 칸의..