SSAFY

[JAVA] 알고리즘 Array (1)

황성안 2021. 2. 4. 23:28
728x90

최상위

  byte 단위 char 단위
입력스트림 InputStream  Reader
출력스트림 OutputStream Writer 

 

 

 두가지로 나뉘는 이유 : 바이트(byte)단위인지 캐릭터(char)단위인지 따라서 나뉨.

 입출력 (데이터의 흐름의 통로의 역활)

System.in   -  데이터 읽기

System.out -  데이터 내보내기

System.err  -  데이터 에러 ( 문제가 정상적으로 풀린다면 쓸일이 없도록..)

 

입출력의 대상 변경

System.setOut()

System.setErr() -

System.setIn()

 

데이터 읽기( 입출력 받기 )

Scanner(File source)

Scanner(InputStream source)

Scanner(String source)

 > 데이터 형변환이 편리하다, 손쉽게 입력처리가가능하다 But 수행시간 비효율적

 

 이러한 스캐너를 입력받을때 메소드를 사용하게됩니다.

nextInt(), nextDouble(), next(), nextLine() 입니다.

nextInt(), nextDouble(), next() > int double, string 반환을하며 white space 를 만나면 종료됩니다.

*white space = space, tab, 개행 등의 빈공간을 만나면 자동으로 종료됩니다.

nextLine() > 문자열을 반환하나 개행(\n , 엔터) 를 만나면 종료됩니다. 즉, white space(띄어쓰기) 가 가능합니다.

 

 

아까 말씀드린 수행시간 비효율을 해결할 방법이 여기있습니다.

바로 대량의 데이터 처리 시 수행시간이 효율적인 방법입니다.

 BufferedReader/ readLine() 이 친구들입니다.

줄 단위로 문자열처리가 가능합니다. 

방법 :

다만 사용하실때 StringTokenizer 를 사용하는데 이는 입력데이터를 구분하기위해 구분자를 주는 것입니다.

토큰의 개수만큼 반복처리를 하여 처리하시면 됩니다.

 

방법 :

이렇게 사용하면 공백을통해 n개의  입력문을 출력하게됩니다.

728x90

'SSAFY' 카테고리의 다른 글

Jira 및 JQL 활용법  (0) 2021.07.07
[SSAFY 2] 협업하기  (0) 2021.07.06
[ SSAFY ] 2학기 시작  (0) 2021.06.28
[TIP] 협업을 위한 GIT 명령어  (0) 2021.04.02
[일타싸피 후기]  (0) 2021.03.15