[BAEKJOON] 10926번 - 입출력 응용(??!)

밍챠코·2023년 12월 12일
0

BAEKJOON

목록 보기
5/38

📝10926

[Java]

1.Scanner 이용

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String str = sc.nextLine();
        System.out.print(str + "??!");
        
        sc.close();
    }
}

next()

  • 공백을 기준으로 한 단어 또는 한 문자씩 입력받음
  • 버퍼에 입력된 문자나 문자열에서 공백 전까지의 단어를 읽어옴
  • 개행 문자를 가져오지 않음

nextLine()

  • 문자 또는 Enter를 입력하기 전까지의 문장 전체를 입력받음
  • 버퍼에 입력된 문자열을 개행 문자까지 포함하여 가져옴

2.BufferedReader 이용

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        String str = br.readLine();
        System.out.print(str + "??!");
        
        br.close();
    }
}

[Javascript]

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim();

console.log(input + '??!');

trim()

  • 문자열 앞뒤 공백 제거 후 반환
const input = require('fs').readFileSync('/dev/stdin').toString().trim();

console.log(`${input}??!`);

💡 템플릿 리터럴(Template Literal) : ES6부터 새롭게 표기된 문자열 표기법, 큰 따옴표(")가 아닌 백틱(`)을 사용하여 문자열 표기

ㄴ 기능

  • 줄바꿈(개행)
var normalStr = "Hello!\nJavaScript";

→ 기존의 일반 문자열 방식에서는 줄바꿈이 허용되지 않았기 때문에 백슬러시(\)로 시작하는 escape sequence 사용
ex) \n, \t ...

var templateStr = `Hello!
JavaScript`;

→ 템플릿 리터럴 사용 시 줄바꿈 등을 쉽게 표현 가능

  • 표현식 삽입
var year = 1;
var age = 25;
var str = " Birthday!"
console.log("Happy " + (year * age) + "th" + str);

→ 큰 따옴표를 이용한 일반 문자열 방식에서는 + 연산자 이용

var year = 1;
var age = 25;
var str = " Birthday!"
console.log(`Happy ${year * age}th ${str}`)

→ 템플릿 리터럴 사용 시 ${ } 사이에 변수나 연산 등을 삽입 가능
→ ${ }의 결과는 문자열로 자동 변환


[Python]

str = input()
print(str + "??!")

0개의 댓글