본문 바로가기

반응형

Java/Java 알고리즘 SWEA

(48)
[SW 아카데미] 1230. [S/W 문제해결 기본] 8일차 - 암호문3 0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다. 암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다. 이 처리기는 다음과 같이 3개의 기능을 제공한다. 1. I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에 y개의 숫자를 삽입한다. s는 덧붙일 숫자들이다.[ ex) I 3 2 123152 487651 ] 2. D(삭제) x, y : 앞에서부터 x의 위치 바로 다음부터 y개의 숫자를 삭제한다.[ ex) D 4 4 ] 3. A(추가) y, s : 암호문의 맨 뒤에 y개의 숫자를 덧붙인다. s는 덧붙일 숫자들이다. [ ex) A 2 421257 796813 ] 위의 규칙에 맞게 작성된 명령어를 나열하여 만든 문자열이 주어졌을 때, 암호문을..
[SW 아카데미] 1229. [S/W 문제해결 기본] 8일차 - 암호문2 0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다. 암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다. 이 처리기는 다음과 같이 2개의 기능을 제공한다. 1. I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에 y개의 숫자를 삽입한다. s는 덧붙일 숫자들이다.[ ex) I 3 2 123152 487651 ] 2. D(삭제) x, y : 앞에서부터 x의 위치 바로 다음부터 y개의 숫자를 삭제한다.[ ex) D 4 4 ] 위의 규칙에 맞게 작성된 명령어를 나열하여 만든 문자열이 주어졌을 때, 암호문을 수정하고, 수정된 결과의 처음 10개 숫자를 출력하는 프로그램을 작성하여라. [입력] 첫 번째 줄 : 원본 암호문의 길이 N ( 100 ≤ N..
[SW 아카데미] 1228. [S/W 문제해결 기본] 8일차 - 암호문1 0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다. 암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다. 이 처리기는 다음과 같이 1개의 기능을 제공한다. 1. I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에 y개의 숫자를 삽입한다. s는 덧붙일 숫자들이다.[ ex) I 3 2 123152 487651 ] 위의 규칙에 맞게 작성된 명령어를 나열하여 만든 문자열이 주어졌을 때, 암호문을 수정하고, 수정된 결과의 처음 10개 숫자를 출력하는 프로그램을 작성하여라. [입력] 첫 번째 줄 : 원본 암호문의 길이 N ( 10 ≤ N ≤ 20 의 정수) 두 번째 줄 : 원본 암호문 세 번째 줄 : 명령어의 개수 ( 5 ≤ N ≤ 10 의 정수) ..
[SW 아카데미] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 다음 주어진 조건에 따라 n개의 수를 처리하면 8자리의 암호를 생성할 수 있다. - 8개의 숫자를 입력 받는다. - 첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다. 다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로, 그 다음 수는 4, 그 다음 수는 5를 감소한다. 이와 같은 작업을 한 사이클이라 한다. - 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다. 이 때의 8자리의 숫자 값이 암호가 된다. [1 사이클] [암호 도출] [제약 사항] 주어지는 각 수는 integer 범위를 넘지 않는다. 마지막 암호 배열은 모두 한 자리 수로 구성되어 있다. [입력] 각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고, 그 다음 줄에..
[SW 아카데미] 1221. [S/W 문제해결 기본] 5일차 - GNS 숫자 체계가 우리와 다른 어느 행성이 있다. 아래는 이 행성에서 사용하는 0 ~ 9의 값을 순서대로 나타낸 것이다. "ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN" 0 ~ 9 의 값을 나타내는 단어가 섞여 있는 문자열을 받아 작은 수부터 차례로 정렬하여 출력하는 프로그램을 작성하라. 예를 들어 입력 문자열이 "TWO NIN TWO TWO FIV FOR" 일 경우 정렬한 문자열은 "TWO TWO TWO FOR FIV NIN" 이 된다. [입력] 입력 파일의 첫 번째 줄에는 테스트 케이스의 개수가 주어진다. 그 다음 줄에 #기호와 함께 테스트 케이스의 번호가 주어지고 공백문자 후 테스트 케이스의 길이가 주어진다. 그 다음 줄부터 바로..
[SW 아카데미] 1220. [S/W 문제해결 기본] 5일차 - Magnetic 테이블 위에 자성체들이 놓여 있다. 자성체들은 성질에 따라 색이 부여되는데, 푸른 자성체의 경우 N극에 이끌리는 성질을 가지고 있고, 붉은 자성체의 경우 S극에 이끌리는 성질이 있다. 아래와 같은 테이블에서 일정 간격을 두고 강한 자기장을 걸었을 때, 시간이 흐른 뒤에 자성체들이 서로 충돌하여 테이블 위에 남아있는 교착 상태의 개수를 구하라. 아래는 자성체들이 놓여 있는 테이블을 위에서 바라본 모습이다. A로 표시된 붉은 자성체의 경우 S극에 이끌리면서 테이블 아래로 떨어지게 된다. B로 표시된 푸른 자성체의 경우 N극에 이끌리면서 테이블 아래로 떨어지게 된다. 나머지 자성체들은 서로 충돌하며, 교착 상태에 빠져 움직이지 않게 된다. D로 표시된 자성체들에서 알 수 있듯 한 쪽 방향으로 움직이는 자성체의..
[SW 아카데미] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 다음과 같이 두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해 보아라. 2 5 = 2 X 2 X 2 X 2 X 2 = 32 3 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729 [제약 사항] 총 10개의 테스트 케이스가 주어진다. 결과 값은 Integer 범위를 넘어가지 않는다. [입력] 각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 두 개의 숫자가 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다. 입력1 9 8 2 2 8 ........ 출력 #1 43046721 #2 256 ....... import java.util.Scanner; pu..
[SW 아카데미] 1216. [S/W 문제해결 기본] 3일차 - 회문2 "기러기" 또는 "level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다. 주어진 100x100 평면 글자판에서 가로, 세로를 모두 보아 가장 긴 회문의 길이를 구하는 문제이다. 위와 같은 글자 판이 주어졌을 때, 길이가 가장 긴 회문은 붉은색 테두리로 표시된 7칸짜리 회문이다. 예시의 경우 설명을 위해 글자판의 크기가 100 x 100이 아닌 8 x 8으로 주어졌음에 주의한다. [제약사항] 각 칸의 들어가는 글자는 c언어 char type으로 주어지며 'A', 'B', 'C' 중 하나이다. 글자 판은 무조건 정사각형으로 주어진다. ABA도 회문이며, ABBA도 회문이다. A또한 길이 1짜리 회문이다. 가로, 세로 각각에 대해서 직선으로만 판..

반응형