[알고리즘] 백준 11654 2675 javascript

yeo_oni·2021년 10월 28일
0

알고리즘

목록 보기
16/18
post-custom-banner

📝 아스키코드 11654

문제

알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.


입력

알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.

A

출력

입력으로 주어진 글자의 아스키 코드 값을 출력한다.

65

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

console.log(input.charCodeAt());


charCodeAt()

str.charCodeAt(index)
index의 경우 숫자가 아니라면 0을 기본값으로 사용한다.


📝 문자열 반복 2675

문제

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./: 이다.


입력

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.

2
3 ABC
5 /HTP

출력

각 테스트 케이스에 대해 P를 출력한다.

AAABBBCCC
/////HHHHHTTTTTPPPPP

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

const T = Number(input[0]); //테스트 케이스 개수 : 2
let result = ''; //최종 출력값을 저장할 변수 선언

for(let i=1; i<=T; i++){
  	//반복 횟수 R과 문자열 S를 공백으로 구분
    let array = input[i].split(' ');
    let R = Number(array[0]);  //반복 횟수
    let S = array[1];          //문자열
    let newS = S.split('');    //문자열을 새로운 배열에 나눠 저장한다.
    
    for(let j=0; j<newS.length; j++){
        for(let k=0; k<R; k++){
          	//반복 횟수 R만큼 각 문자열을 반복해서 최종 출력값에 저장한다.
            result += newS[j];
        }
    }
  	//첫번째 문자와 두번째 문자를 구분하기 위한 줄바꿈
    result += '\n';
}

console.log(result);

post-custom-banner

0개의 댓글