문자열의 앞의 n글자
문제
문자열 my_string
과 정수 n
이 매개변수로 주어질 때, my_string
의 앞의 n
글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
- 제한사항
my_string
은 숫자와 알파벳으로 이루어져 있습니다.- 1 ≤
my_string
의 길이 ≤ 1,000 - 1 ≤ n ≤
my_string
의 길이
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let my_string = '';
let n = 0;
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
my_string = line;
} else {
n = line;
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(my_string, Number(n));
console.log(answer);
});
const solution = (my_string, n) => {
return my_string.slice(0, n);
};
접두사인지 확인하기
문제
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string
과 is_prefix
가 주어질 때, is_prefix
가 my_string
의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
- 제한사항
- 1 ≤
my_string
의 길이 ≤ 100 - 1 ≤
is_prefix
의 길이 ≤ 100 my_string
과is_prefix
는 영소문자로만 이루어져 있습니다.
- 1 ≤
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let my_string = '';
let is_prefix = '';
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
my_string = line;
} else {
is_prefix = line;
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(my_string, is_prefix);
console.log(answer);
});
const solution = (my_string, is_prefix) => {
const prefix = my_string.slice(0, is_prefix.length);
return is_prefix.length <= my_string.length && prefix.includes(is_prefix) ? 1 : 0;
};
문자열 뒤집기
문제
문자열 my_string
과 정수s
, e
가 매개변수로 주어질 때, my_string
에서 인덱스 s
부터 인덱스 e
까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
- 제한사항
my_string
은 숫자와 알파벳으로만 이루어져 있습니다.- 1 ≤
my_string
의 길이 ≤ 1,000 - 0 ≤
s
≤e
<my_string
의 길이
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let my_string = '';
let input = '';
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
my_string = line;
} else {
input = line.split(' ').map(Number);
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(my_string, input[0], input[1]);
console.log(answer);
});
const solution = (my_string, s, e) => {
const prefix = my_string.slice(0, s);
const interval = my_string.slice(s, e + 1);
let reverse = '';
for (let i = e - s; i >= 0; i--) {
reverse += interval[i];
}
const suffix = my_string.slice(e + 1);
return prefix + reverse + suffix;
};
세로 읽기
문제
문자열 my_string
과 두 정수 m
, c
가 주어집니다. my_string
을 한 줄에 m
글자씩 가로로 적었을 때 왼쪽부터 세로로 c
번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
- 제한사항
my_string
은 영소문자로 이루어져 있습니다.- 1 ≤
m
≤my_string
의 길이 ≤ 1,000 m
은my_string
길이의 약수로만 주어집니다.- 1 ≤
c
≤m
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let my_string = '';
let input = '';
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
my_string = line;
} else {
input = line.split(' ').map(Number);
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(my_string, input[0], input[1]);
console.log(answer);
});
const solution = (my_string, m, c) => {
const array = [];
let answer = '';
for (let i = 0; i < my_string.length; i += m) {
array.push(my_string.slice(i, i + m));
}
for (let i = 0; i < array.length; i++) {
answer += (array[i])[c - 1];
}
return answer;
};
qr code
문제
두 정수 q
, r
과 문자열 code
가 주어질 때, code
의 각 인덱스를 q
로 나누었을 때 나머지가 r
인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
- 제한사항
- 0 ≤
r
<q
≤ 20 r
<code
의 길이 ≤ 1,000code
는 영소문자로만 이루어져 있습니다.
- 0 ≤
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let code = '';
let input = '';
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
input = line.split(' ').map(Number);
} else {
code = line;
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(input[0], input[1], code);
console.log(answer);
});
const solution = (q, r, code) => {
let answer = '';
for (let i = r; i < code.length; i += q) {
answer += code[i];
}
return answer;
};
Ghost