[SWEA] (D2) 1940. 가랏! RC카!
·
코딩테스트/SWEA
RC (Radio Control) 카의 이동거리를 계산하려고 한다. 입력으로 매 초마다 아래와 같은 command 가 정수로 주어진다. 0 : 현재 속도 유지.1 : 가속2 : 감속 위 command 중, 가속(1) 또는 감속(2) 의 경우 가속도의 값이 추가로 주어진다. 가속도의 단위는, m/s2 이며, 모두 양의 정수로 주어진다. 입력으로 주어진 N 개의 command 를 모두 수행했을 때, N 초 동안 이동한 거리를 계산하는 프로그램을 작성하라. RC 카의 초기 속도는 0 m/s 이다. [예제]아래 예제 입력에서 정답은 3 이 된다. 입력         시간     RC 카의 속도 RC     카의 이동거리1 2          1 sec          2 m/s                   ..
[SWEA] (D2) 1288. 새로운 불면증 치료법
·
코딩테스트/SWEA
호석이는 불면증에 걸렸다. 그래서 잠이 안 올 때의 민간요법 중 하나인 양 세기를 하려고 한다. 호석이는 1번 양부터 순서대로 세는 것이 재미없을 것 같아서 N의 배수 번호인 양을 세기로 하였다. 즉, 첫 번째에는 N번 양을 세고, 두 번째에는 2N번 양, … , k번째에는 kN번 양을 센다. 이렇게 숫자를 세던 호석이에게 잠은 더 오지 않고 다음과 같은 궁금증이 생겼다. 이전에 셌던 번호들의 각 자리수에서 0에서 9까지의 모든 숫자를 보는 것은 최소 몇 번 양을 센 시점일까? 예를 들어 N = 1295이라고 하자. 첫 번째로 N = 1295번 양을 센다. 현재 본 숫자는 1, 2, 5, 9이다. 두 번째로 2N = 2590번 양을 센다. 현재 본 숫자는 0, 2, 5, 9이다. 현재까지 본 숫자는 0,..
[SWEA] (D2) 1979. 어디에 단어가 들어갈 수 있을까
·
코딩테스트/SWEA
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 가 주어진다...
[SWEA] (D2) 1926. 간단한 369게임
·
코딩테스트/SWEA
3 6 9 게임을 프로그램으로 제작중이다. 게임 규칙은 다음과 같다. 1. 숫자 1부터 순서대로 차례대로 말하되, “3” “6” “9” 가 들어가 있는 수는 말하지 않는다.  1 2 3 4 5 6 7 8 9…2. "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.  예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다. 입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를게임 규칙에 맞게 출력하는 프로그램을 작성하라.박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다. ..
[SWEA] (D2) 1948. 날짜 계산기
·
코딩테스트/SWEA
월 일로 이루어진 날짜를 2개 입력 받아, 두 번째 날짜가 첫 번째 날짜의 며칠째인지 출력하는 프로그램을 작성하라. [제약 사항]월은 1 이상 12 이하의 정수이다. 각 달의 마지막 날짜는 다음과 같다. 1/31, 2/28, 3/31, 4/30, 5/31, 6/30, 7/31, 8/31, 9/30, 10/31, 11/30, 12/31 두 번째 날짜가 첫 번째 날짜보다 항상 크게 주어진다. [입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 4개의 수가 주어진다. 첫 번째 수가 월을 나타내고 두 번째 수가 일을 나타낸다. 그 다음 같은 형식으로 두 번째 날짜가 주어진다. [출력]출력의 각 줄은 '#t'로 시작하고, 공백을..
[SWEA] (D2) 1966. 숫자를 정렬하자
·
코딩테스트/SWEA
주어진 N 길이의 숫자열을 오름차순으로 정렬하여 출력하라. [제약 사항]N 은 5 이상 50 이하이다. [입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N 이 주어지고, 다음 줄에 N 개의 숫자가 주어진다. [출력]출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)  [풀이]너무 쉬운 문제라 풀이는 생략하겠다. Collections.sort를 사용했다.import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[]..
[SWEA] (D2) 1959. 두 개의 숫자열
·
코딩테스트/SWEA
N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다. 아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다. Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다. 단, 더 긴 쪽의 양끝을 벗어나서는 안 된다.  서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라. 위 예제의 정답은 아래와 같이 30 이 된다.[제약 사항]N 과 M은 3 이상 20 이하이다. [입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고, 두 번째 줄에는 Ai, 세 번째 줄에는 Bj 가 주어진다. [출력]출력의 각 줄은 '..
[SWEA] (D2) 1989. 초심자의 회문 검사
·
코딩테스트/SWEA
"level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다. 단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램을 작성하라.[제약 사항]각 단어의 길이는 3 이상 10 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 하나의 단어가 주어진다.[출력]출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) [풀이] `StringBuilder` 값을 text로 선언하고, reverse 시킨 값을 기존의 text 값과 비교해주었다.import java.uti..
[SWEA] (D2) 1984. 중간 평균값 구하기
·
코딩테스트/SWEA
10개의 수를 입력 받아, 최대 수와 최소 수를 제외한 나머지의 평균값을 출력하는 프로그램을 작성하라. (소수점 첫째 자리에서 반올림한 정수를 출력한다.) [제약 사항]각 수는 0 이상 10000 이하의 정수이다. [입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다. [출력]출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) [풀이] 처음 구현할 때, `answer = Math.round(answer/8));` 로 구현해서 `18.0` 과 같은 소숫점이 찍혀서 출력됐다. 생각을 해보니 double 형인 answe..
[SWEA] (D2) 1859. 백만 장자 프로젝트
·
코딩테스트/SWEA
25년 간의 수행 끝에 원재는 미래를 보는 능력을 갖게 되었다. 이 능력으로 원재는 사재기를 하려고 한다. 다만 당국의 감시가 심해 한 번에 많은 양을 사재기 할 수 없다. 다음과 같은 조건 하에서 사재기를 하여 최대한의 이득을 얻도록 도와주자.     1. 원재는 연속된 N일 동안의 물건의 매매가를 예측하여 알고 있다.    2. 당국의 감시망에 걸리지 않기 위해 하루에 최대 1만큼 구입할 수 있다.    3. 판매는 얼마든지 할 수 있다. 예를 들어 3일 동안의 매매가가 1, 2, 3 이라면 처음 두 날에 원료를 구매하여 마지막 날에 팔면 3의 이익을 얻을 수 있다. [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스 별로 첫 줄에는 자연수 N(2 ≤ N ≤ 1,000,000)..