-
를 추가해준다문자열도 배열처럼 인덱스를 이용해서 접근할 수 있지만 각 원소는 숫자타입이 아닌 문자타입이기때문에 입력받은 문자열을 배열로 바꿔줬다.
function insertDash(str) {
let arr = str.split('');
let result = []
result.push(str[0])
for (let i = 1; i < arr.length; i++) {
if (arr[i-1] %2 && arr[i] %2) {
result.push('-')
}
result.push(arr[i])
}
return result.join('')
}
반복문을 순회하고 조건에 맞는 경우에 -
를 추가하는 같은 논리지만, 문자열을 배열로 변형하는 과정을 거치지 않고 Number()
를 이용해서 문자열을 숫자타입으로 변환해서 풀었다.
function insertDash(str) {
let result = str[0]
for (let i = 1; i < str.length; i++) {
if(Number(str[i-1]) % 2 && Number(str[i]) % 2) {
result += '-'
}
result += str[i]
}
return result
}
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
n과 m은 각각 1000 이하인 자연수입니다.
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" "); // 입력받은 숫자(data)를 배열로 변경
const a = Number(n[0]), b = Number(n[1]); // a는 한줄에 들어갈 별의 갯수, b는 출력할 줄 수
for (let i = 0 ; i < b ; i++) { // 반복문 순회- 반복문 안에 선언한 i-b줄 만큼 반복
let result = '' //출력할 문자열을 담아줄 변수 선언
for(let j = 0; j < a; j++) { // 반복문 순회- j - 한 줄에 a만큼 별을 반복한다
result += '*' //출력할 변수에 별을 담는다.
}
console.log(result) //결과 출력
}
});
repeat()
메소드를 사용해서 a만큼 반복해서 넣은 한 줄을 먼저 만들고, 이걸 반복문을 통해 b만큼 반복한다.
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)
}
});