백준 11718번


입력 받은 대로 출력하는 프로그램을 작성하시오.

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.



◎첫번째방식


import java.util.ArrayList;

import java.util.Scanner;


public class Main{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

while(sc.hasNext())

System.out.println(sc.nextLine());

}

}


출력값은 다음과 같다.


hasNext() 현재 위치에서 다음에 데이터가 있으면 true 없으면 false  


계속적으로 값을 적어주면 true 반환하게 되어 계속 실행된다.





◎두번째방식

isEmpty()를 사용해 한줄 전체가 비었을때 ArrayList에 저장되었던 모든 값들을 불러온다.

즉, 엔터를 연속으로 두번 눌러야지 값이 출력된다.

import java.util.ArrayList;

import java.util.Scanner;




public class Main {


public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);

ArrayList<String> words = new ArrayList<>();

int cnt = 0; //횟수 100이상 제한 두기위해 사용

char a;

int clear = 0; //숫자, 알파벳 소문자,대문자가 아닌 다른 값이 들어갈때 ArrayList에 저장된 words를 초기화 하기 위해서 

while(sc.hasNextLine()) {

String sentence = sc.nextLine();

if(sentence.startsWith(" ")||sentence.endsWith(" ")||sentence.length()>100) {

System.out.println("다시 입력");

}

else if(cnt>=99){

System.out.println("100줄 초과");

break;

}

else{

String[] array = sentence.split("");

for(String word:array) {

for(int i=0; i<word.length(); i++) {

int index = word.charAt(i);

if(index>=48 && index<=57) {

}

else if(index>=65 && index<=90) {

}

else if(index>=97 && index<=122) {

}

else {

System.out.printf("잘못 입력 된 값:%s",word);

clear = 1;

}

//System.out.print(array[i]);

}

}

words.add(sentence);

cnt++;

if(clear==1) {

words.clear(); //ArrayList 초기화

clear=0;

}

}

if(sentence.isEmpty()) {

for(int i=0; i<words.size(); i++) {

System.out.println(words.get(i));

}

words.clear();

}

}

}


}




 //startsWith()은 sentence의 맨처음 값을 비교한다. endsWith()은 sentence의 맨 마지막 값을 비교한다. sentence.length()은 sentence의 글자 길이를 알려준다.

words.add(sentence); 은 words라는 ArrayList 객체에 sentence의 값을 넣어준다.

words.get(i)를 이용해서 ArrayList에 저장되 있던 값들을 모두 출력한다.


알고리즘 11718번을 통해 사용한 METHOD

hasNext()

startsWith()

 endsWith()

words.add(sentence)

words.get(i)

'백준 알고리즘 > JAVA' 카테고리의 다른 글

[JAVA 자바] 백준 10817번  (0) 2018.07.05
[JAVA 자바] 백준 15552번  (0) 2018.07.04
[JAVA] 백준 11721번  (0) 2018.07.04
[JAVA] 백준 11720번  (0) 2018.07.02
[JAVA] 백준 2839번  (0) 2018.07.02

안녕하세요~ 

블로그를 처음 개설해 봅니다.

IT 정보와 프로그래밍 관련 기록들을 블로그를 통해 공유 할 생각입니다.

감사합니다!

'IT 정보' 카테고리의 다른 글

restful api 란?  (0) 2018.08.31
IT SW개발자 취업팁  (0) 2018.08.11
프로그래머 면접 질문  (0) 2018.07.23

+ Recent posts