문제

패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력받아 마디의 길이를 출력하는 프로그램을 작성하라.

 

풀이

  1. 반복되는 패턴을 저장할 String 변수 pattern의 길이를 하나씩 늘려주며 비교한다.
  2. i-1번째까지를 pattern 변수에 넣었을때 기존에 입력받은 문자열의 i번째부터 길이 i만큼을 잘라서 새로 tmp 만큼에 넣는다.
  3. pattern과 tmp 가 같으면 pattern변수의 길이를 출력하고 종료.
import java.io.*;
public class Solution {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		for(int tc=1; tc<=T; tc++) {
			String s = br.readLine();
			for(int i=1; i<=s.length(); i++) {
				String pattern = s.substring(0, i);
				String tmp = s.substring(i,i+i);
				if(pattern.equals(tmp)) {
					System.out.println("#"+tc+" "+pattern.length());
					break;
				}
			}			
		}	
	}
}

'SWEA > D2' 카테고리의 다른 글

[SWEA] 1986. 지그재그 숫자  (0) 2019.04.30
[SWEA] 1989. 초심자의 회문 검사  (0) 2019.04.30
[SWEA] 2001. 파리 퇴치  (0) 2019.04.29
[SWEA] 2005. 파스칼의 삼각형  (0) 2019.04.29
[SWEA] 1926. 간단한 369게임  (0) 2019.04.28

문제

입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를

게임 규칙에 맞게 출력하는 프로그램을 작성하라.

박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.

여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다. 

N은 10이상 1,000이하의 정수이다. (10 ≤ N ≤ 1,000)

 

풀이

  1.  먼저 3,6,9를 포함하는지 확인하기 위해 1부터 n까지의 숫자를 String으로 변환한다.
  2. String s에 3이나, 6, 9가 포함되어 있는 경우에 3,6,9 는 - 로 바꿔주고, 나머지 숫자는 없애준다.
import java.util.*;
import java.io.*;
public class Solution {
	public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        for(int i=1; i<=n; i++) {
            String s = Integer.toString(i);
            if(s.contains("3") || s.contains("6") || s.contains("9")) {
                s = s.replace("3", "-");
                s = s.replace("6", "-");
                s = s.replace("9", "-");
                s = s.replace("1", "");
                s = s.replace("2", "");
                s = s.replace("4", "");
                s = s.replace("5", "");
                s = s.replace("7", "");
                s = s.replace("8", "");
                s = s.replace("0", "");
            }
            System.out.print(s+" ");
        }
    }
}

'SWEA > D2' 카테고리의 다른 글

[SWEA] 1986. 지그재그 숫자  (0) 2019.04.30
[SWEA] 1989. 초심자의 회문 검사  (0) 2019.04.30
[SWEA] 2001. 파리 퇴치  (0) 2019.04.29
[SWEA] 2005. 파스칼의 삼각형  (0) 2019.04.29
[SWEA] 2007. 패턴 마디의 길이  (0) 2019.04.28

+ Recent posts