갱스타
갱스타의 블로그
갱스타
전체 방문자
오늘
어제
  • 분류 전체보기 (93)
    • TIL(Today I Learned) (10)
    • 노력만이 살길! (58)
      • 알고리즘 (29)
      • 네트워크 (3)
      • Python (1)
      • Spring Boot (1)
      • 합격하기 (0)
      • Adsp (3)
      • SQLD (10)
      • 데이터분석 (5)
      • 취업일기 (4)
      • IT 프로젝트 관리 (1)
      • 운영체제 (1)
    • Life (10)
      • 일상 그리고 리뷰 (10)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SWEA 13038
  • 알고리즘
  • 백준 달팽이
  • 달팽이 반복문
  • java 알고리즘
  • 백준
  • 백준 2477번
  • 싸피
  • 통신
  • mac 단축키
  • swea
  • 네트워크
  • SW Expert Academy
  • 달팽이문제
  • 싸피합격
  • post
  • 백준 알고리즘
  • 싸피7기
  • Get
  • 백준 참외밭

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갱스타

갱스타의 블로그

[JAVA][SWEA] 1228 암호문1
노력만이 살길!/알고리즘

[JAVA][SWEA] 1228 암호문1

2022. 2. 8. 18:13

1. 문제

출처 :

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14w-rKAHACFAYD

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

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 의 정수)

네 번째 줄 : 명령어

위와 같은 네 줄이 한 개의 테스트 케이스이며, 총 10개의 테스트 케이스가 주어진다.

[출력]

#기호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 수정된 암호문의 처음 10개 항을 출력한다.

2. 풀이 코드 ArrayList 사용

package com.ssafy.day04.stack;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Solution_D3_1228_김유경 {
	public static void main(String[] args) throws Exception {
		
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st=null;
		for(int i=0;i<2;i++) { //테스크케이스 10개
			st=new StringTokenizer(br.readLine());
			int N=Integer.parseInt(st.nextToken());//원문의 길이
			ArrayList<String> list=new ArrayList<>(); //링크드 리스트 생성
			
			st=new StringTokenizer(br.readLine());
			for(int k=0;k<N;k++) { //원문 리스트에 삽입
				list.add(st.nextToken());
			}
			
			st=new StringTokenizer(br.readLine());
			int commend=Integer.parseInt(st.nextToken()); //명령어의 개수 읽어온다.
			
			//명령어를 읽어온다.
			st=new StringTokenizer(br.readLine());
			for(int j=0;j<commend;j++) { //명령어의 개수만큼 반복.
				if(st.nextToken().equals("I")) { //I문자 날려버
				int index=Integer.parseInt(st.nextToken()); //몇번째 위치에 삽입할건지.
				int size=Integer.parseInt(st.nextToken()); //삽입할 원소가 몇개인지.
				for(int z=0;z<size;z++) {
					list.add(index+z,st.nextToken());
				}
			}
			}
			System.out.printf("#%d ",i+1);
			for(int m=0;m<10;m++) {
				System.out.printf("%s ",list.get(m));
			}
			System.out.println();
			
			
		}
	
	}
}

 

 

'노력만이 살길! > 알고리즘' 카테고리의 다른 글

[JAVA][SWEA][모의SW] 1952번 수영장 이용요금  (0) 2022.02.10
[JAVA][SWEA] 1210번 [S/W 문제해결 기본] Ladder1  (0) 2022.02.10
[JAVA][SWEA] 1225 암호생성기  (0) 2022.02.08
[JAVA][백준 2493] 탑 정답  (0) 2022.02.08
1141 : 불쾌한 날(Bad Hair Day)  (0) 2022.02.07
    '노력만이 살길!/알고리즘' 카테고리의 다른 글
    • [JAVA][SWEA][모의SW] 1952번 수영장 이용요금
    • [JAVA][SWEA] 1210번 [S/W 문제해결 기본] Ladder1
    • [JAVA][SWEA] 1225 암호생성기
    • [JAVA][백준 2493] 탑 정답
    갱스타
    갱스타
    열심히 배워보자

    티스토리툴바