> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java Strings Introduction

jini:) 2021. 8. 31. 17:45
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Strings > Java Strings Introduction
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

"문자열은 전통적으로 리터럴 상수 또는 일종의 변수로서 문자 시퀀스입니다." — Wikipedia: String (computer science)

 

이 챌린지에서는 Java 문자열에 대한 이해도를 테스트합니다.

String myString = "Hello World!"

String의 요소를 문자라고 합니다. 문자열의 문자 수를 길이라고 하며 String.length() 메서드를 사용하여 검색할 수 있습니다.

 

두 개의 소문자 영어 문자열 A와 B가 주어지면 다음 작업을 수행합니다.

  1. A와 B의 길이를 더하십시오.
  2. 사전순으로 A가 B보다 큰지 확인합니다. (즉, 사전에서 B가 A 앞에 옵니까?)
  3. A와 B의 첫 글자를 대문자로 입력하고 공백으로 구분하여 한 줄에 인쇄합니다.

 

 

Input Format

  • 첫 번째 줄에는 문자열 A가 포함되어 있습니다.
  • 두 번째 줄에는 다른 문자열 B가 포함되어 있습니다.
  • 문자열은 영문 소문자로만 구성됩니다.

 

Output Format

3줄의 출력이 있습니다.

  • 첫 번째 줄의 경우 A와 B의 길이를 더합니다.
  • 두 번째 줄에 A가 사전순으로 B보다 크면 Yes라고 쓰고 그렇지 않으면 No를 대신 출력합니다.
  • 세 번째 줄의 경우 A와 B의 첫 글자를 대문자로 입력하고 공백으로 구분하여 한 줄에 출력합니다.

 

Sample Input

hello
java

 

Sample Output

9
No
Hello Java

 

 

Explanation

  • 문자열 A는 "hello"이고 B는 "java"입니다.
  • A의 길이는 5이고 B의 길이는 4입니다. 길이의 합은 9입니다.
    알파벳순/사전순으로 정렬할 때 "hello"가 "java" 앞에 옵니다. 따라서 A는 B보다 크지 않으며 대답은 NO입니다.
  • A와 B의 첫 글자를 대문자로 한 다음 공백으로 구분하여 인쇄하면 "Hello Java"가 표시됩니다.

 

compareTo()
기준값. compareTo(비교값);
두개의 문자열을 비교하여 동일한지, 어떤문자가 사전적인 순서로 앞에 있는지 리턴.
리턴값은 0, 음수, 양수의 int가 리턴된다.

1. 숫자 비교
    0 : 기준값 == 비교값
    1 : 기준값 > 비교값
    -1 : 기준값 < 비교값

2. 문자 비교
    0 : 기준값 == 비교값
    양수 : 기준값이 비교값보다 사전적으로 순서가 앞설때
    음수 : 비교값이 기준값보다 사전적으로 순서가 앞설때

toUpperCase()
대상문자.toUpperCase();
대상 문자열을 모두 대문자로 변환.
(소문자로 변환시 toLowerCase(); 사용)

 

Code :

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        String A=sc.next();
        String B=sc.next();
        /* Enter your code here. Print output to STDOUT. */
        Integer lenA = A.length();
        Integer lenB = B.length();
        Integer sort = A.compareTo(B);
        String tot = A.substring(0,1).toUpperCase() + A.substring(1, lenA) + " " + B.substring(0,1).toUpperCase() + B.substring(1, lenB);
        
        System.out.println(lenA + lenB);
        
        if(sort > 0) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
        
        System.out.println(tot);
        
    }
}

 

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형