문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
n과 m은 각각 1000 이하인 자연수입니다.
ex)
입력
5 3
출력
*****
*****
*****
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
// 입력 값 b(3) 만큼 반복문을 돌린다.
for (let i = 0; i < b; i++) {
// stars 변수를 초기화 해준다.
let star = "";
// 위 for문이 한번 돌아갈 때 마다 입력 값 a(5) 만큼 반복문을 돌린다.
for (let j = 0; j < a; j++) {
// stars = stars + "*"
star += "*";
}
// 콘솔에 현재 까지 저장된 stars 값을 찍는다. (*****)
console.log(star);
// i가 b(3) 보다 작을 경우 맨 위로가 다시 for문을 시행한다.
}
});
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
const row = '*'.repeat(a)
for(let i =0; i < b; i++){
console.log(row)
}
});
String.prototype.repeat(count)
문제 설명
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.
제한 조건
num은 int 범위의 정수입니다.
0은 짝수입니다.
ex)
num return
3 "Odd"
4 "Even"
function solution(num) {
var answer = '';
if (num % 2 === 0){
return answer = "Even"
}else{
return answer = "Odd"
}
return answer;
}
function solution(num) {
var answer = '';
return (num%2 === 0 ? "Even": "Odd")
return answer;
}
condition ? exprIfTrue : exprIfFalse
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
s return
"abcde" "c"
"qwer" "we"
function solution(s) {
var answer = '';
if(s.length%2 ===0){
answer = s[s.length/2 - 1] + s[s.length/2]
}else{
answer = s[Math.floor(s.length/2)]
}
return answer;
}
- 예시에서 "abcde" 문자열의 길이는 5이다. 출력 값은 "c"이고 인덱스 값은 2이다.
즉, 5 / 2 = 2.5인데, 인덱스 값을 구하려면 반내림을 해야한다.- "qwer" 문자열의 길이는 4이다. 출력값은 "we"이고 인덱스값은 각각 1,2이다.
즉, 4 / 2 = 2인데, 인덱스 값을 구하려면 -1을 해주어야하고, 두번째값에 대해서는 4 / 2 = 2
가 성립한다. 짝수값은 각각의 값을 더해주어야 하므로 위의 코드가 만들어졌다.
// 올림
Math.ceil([숫자]);
// 반내림
Math.floor([숫자]);
// 반올림
Math.round([숫자]);
// 방법 1
function solution(s) {
var answer = '';
return s.length % 2 ===0 ? s.substr(s.length/2-1,2) : s.substr(parseInt(s.length/2),1)
}
// 방법 2
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
substr()은 문자열에서 특정 부분을 잘라낼 때 쓰인다.
-> substr(시작위치 , 자를 길이)
시작위치는 Math.ceil(s.length / 2) -1 -> 문자의 길이를 반으로 나눈 후 Math.ceil()로 올림 하고, 1을 뺴준다.
자를 길이는
짝수
-> 문자의 길이를 반으로 나누고 나머지가 0일 때 길이는 2
홀수
-> 문자의 길이를 반으로 나누고 나머지가 0일 때 길이는 1