알고리즘/Hackerrank

[Hackerrank] Let's Review

비독개 2021. 10. 2. 19:02

Objective
Today we will expand our knowledge of strings, combining it with what we have already learned about loops. Check out the Tutorial tab for learning materials and an instructional video.

Task
Given a string, S , of length N  that is indexed from 0 to N - 1, print its even-indexed and odd-indexed characters as 2 space-separated strings on a single line (see the Sample below for more detail).

Note: 0 is considered to be an even index.

Example

s = adbecf

Print abc def

Input Format

The first line contains an integer, T (the number of test cases).
Each line i of the T subsequent lines contain a string, S.

Constraints

  • 1 <= T <= 10
  • 2 <= length of S <= 10000

Output Format

For each String S(j) (where 0 <= j <= T - 1), print S(j)'s even-indexed characters, followed by a space, followed by S(j)'s odd-indexed characters.

Sample Input

2
Hacker 
Rank

Sample Output

Hce akr
Rn ak

Explanation

Test Case 0: S = "Hacker"

S[0] = "H"

S[1] = "a"

S[2] = "c"

S[3] = "k"

S[4] = "e"

S[5] = "r"

The even indices are 0, 2, and 4, and the odd indices are 1, 3, and 5. We then print a single line of 2 space-separated strings; the first string contains the ordered characters from S's even indices (Hce), and the second string contains the ordered characters from S's odd indices (ark).

Test Case 1: S = "Rank"

S[0] = "R"

S[1] = "a"

S[2] = "n"

S[3] = "k"

The even indices are 0 and 2, and the odd indices are 1 and 3. We then print a single line of 2 space-separated strings; the first string contains the ordered characters from S's even indices (Rn), and the second string contains the ordered characters from S's odd indices (ak).

 


  • 몇개의 문자열인지 문자열의 수 T와 T에 맞춰 문자열들이 입력된다.
  • T 값을 받아서 for문을 돌리고 그안에서 String을 나누고 홀수와 짝수를 구분하여 새로선언한 String에 담은후
  • 출력해주고 2차 for문을 종료 시켜준다. 
import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        sc.nextLine();
        
        for(int i=0; i<T; i++) {
            String S = sc.nextLine();
            String odd = "";
            String even = "";
            
            for(int j=0; j<S.length(); j++) {
                if(j%2 == 0) {
                    even += S.charAt(j);
                } else {
                    odd += S.charAt(j);
                }
            }
            System.out.println(even + " " + odd);
        }
    }
}