반응형

문제 설명

문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.

 

제한사항

 - 1 <= str 의 길이 <= 1,000,000

 - str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.



// solution.java

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
    }
}

 

 

풀이)

scanner 클래스를 사용해본적이 없어서 무슨 말인지 해맸다.

System.out.println("HelloWorld!"); 도 입력해보고, 문자열 str이 주어질 때라고 하니 입력값을 받아서 진행하는거 같은데...

scanner 클래스를 찾아보았다.

saanner 을 생성할 떄 System.in이 들어간다는 점이 주의 사항이며, System.in은 사용자로부터 입력을 받기 위한 입력 스트림이다.

기본적으로 next + Type() 조합으로 사용된다.

 

 

- 주로 사용되는 입력메소드

nextInt() nextDouble()
next() nextLine()

 

 

 - 입력메소드 정리

in.nextByte() byte 형 입력 및 리턴
in.nextShort() short 형 입력 및 리턴
in.nextInt() int 형 입력 및 리턴
in.nextLong() long 형 입력 및 리턴
in.nextFloat() float 형 입력 및 리턴
in.nextDouble() double 형 입력 및 리턴
in.nextBoolean() boolean 형 입력 및 리턴
in.next() string 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음)
in.nextLine() string 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)

 

char 형(문자)타입으로 받는 메소드는 따로 없다. String으로 받은 뒤, charAt() 메소드로 문자로 반환해야한다.

 



import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        System.out.println(a);
    }
}

string 타입 변수 a에 sc.next() 를 사용하여서

a를 출력해주었다니 

 

채점 결과

 간단하게 테스트에 통과하게 되었다.

 

추가로 알게 된점

조건 중에서 1 <= str 의 길이 <= 1,000,000 조건을 설정해주지 않았다. 그래서 if 문을 추가!



import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        int b = a.length();
        if(1<=b && b<=1000000) {
            System.out.println(a);     
        }    
    }
}

확실히 통과!

반응형
복사했습니다!