코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍

코딩기록

카테고리 없음

[SWEA] 17319번 : 문자열문자열

2023. 10. 26. 12:49

https://swexpertacademy.com/main/solvingProblem/solvingProblem.do

 

SW Expert Academy

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

swexpertacademy.com

 

문제

재현이는 알파벳 소문자로 이루어진 문자열 하나를 받아 그대로 두 번 연달아 썼다. 예를 들어 “abc” 를 받았다면 “abcabc” 를 썼다.

당신에게 문자열이 주어질 때, 이 문자열이 재현이가 만들어 낼 수 있는 문자열인지 판단하라.

 

입력

첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다.

      - 첫 번째 줄에 문자열의 길이  N이 주어진다. (1≤N≤100)

      - 다음 줄에 길이 N의 알파벳 소문자 문자열 S가 주어진다.

 

출력

각 테스트 케이스 마다 한 줄씩, 재현이가 만드는 게 가능한 문자열이라면 “Yes”, 불가능한 문자열이라면 “No” 를 출력하라.

 


소스코드

import java.io.*;

class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int t = Integer.parseInt(br.readLine());

        for (int i = 0; i < t; i++) {
            int n = Integer.parseInt(br.readLine());
            String s = br.readLine();

            String str1 = s.substring(0, n / 2);
            String str2 = s.substring(n / 2);

            String result;
            if(str1.equals(str2)) result = "Yes";
            else result = "No";

            sb.append("#" + (i + 1) + " " + result + "\n");
        }

        System.out.println(sb);
    }
}

 

해결 방법

  1. 입력받은 문자열을 substring()을 사용해 반으로 나눈다.
  2. 나눠진 2개의 문자열을 비교해 재현이가 만들어 낼 수 있는 문자열인지 판단한다.

 

    코딍코딍
    코딍코딍
    ㅎ2

    티스토리툴바