Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 코드잇
- 항해99
- aws
- redis
- 방송대
- 방송대컴퓨터과학과
- TiL
- 코딩테스트준비
- 데이터베이스시스템
- Git
- 파이썬
- Cookie
- node.js
- HTML
- 프로그래머스
- 개발자취업
- 99클럽
- 엘리스sw트랙
- nestjs
- JavaScript
- Python
- 꿀단집
- MySQL
- 중간이들
- presignedurl
- 코딩테스트
- CSS
- 파이썬프로그래밍기초
- 유노코딩
- SQL
Archives
- Today
- Total
배꼽파지 않도록 잘 개발해요
[프로그래머스] 입문 Day 6 문자열, 반복문, 출력, 배열, 조건문 (Javascript) 본문
문자열 뒤집기
문제 설명
- 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
my_string | return |
"jaron" | "noraj" |
"bread" | "daerb" |
풀이 1
반복문을 사용한 문자열 역순 생성
function solution(my_string) {
var answer = "";
for (i = my_string.length-1; i >= 0; i--) {
answer += my_string[i]
}
return answer;
}
풀이 2
Spread 연산자와 배열의 역순 및 문자열로 변환
function solution(my_string) {
var answer = [...my_string].reverse().join("");
return answer;
}
my_string = "jaron"
answer = [...my_string] // 문자열이 1개씩 있는 배열
// console.log(answer) // [ 'j', 'a', 'r', 'o', 'n' ]
풀이 3
split, reverse, join 메서드를 사용
function solution(my_string) {
return my_string.split('').reverse().join('');
}
주의할 점
- 풀이 2, 3이 깔끔하다. 아직 배열을 제대로 다루지 못해서 반복문으로 풀었다.
- 모던 자바스크립트에 익숙해지는 것이 필요할 것 같다.
직각삼각형 출력하기
문제 설명
- "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.
제한사항
- 1 ≤ n ≤ 10
입출력 예
입력 | 출력 |
3 | * ** *** |
풀이 1
for문으로 input의 숫자만큼의 삼각형을 출력
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
// 사용자의 입력을 받아서 input 배열에 저장
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
// 입력된 숫자만큼 반복하면서 삼각형 출력
for (i = 1; i <= input; i++) {
console.log("*".repeat(i))
}
});
주의할 점
반복문 작성할 때 console.log가 반복문 안에 있으면 한 줄씩 띄어서 출력됨.
console.log('Line 1', 'Line 2'); // Line 1 Line 2
console.log('Line 1');
console.log('Line 2');
// Line 1
// Line 2
console.log('Line 1');console.log('Line 2');
// Line 1
// Line 2
짝수 홀수 개수
문제 설명
- 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ num_list의 길이 ≤ 100
- 0 ≤ num_list의 원소 ≤ 1,000
입출력 예
num_list | result |
[1, 2, 3, 4, 5] | [2, 3] |
[1, 3, 5, 7] | [0, 4] |
풀이 1
filter 매서드 사용
function solution(num_list) {
return [
num_list.filter((num) => num % 2 === 0).length,
num_list.filter((num) => num % 2 === 1).length,
];
}
filter 함수는 배열의 각 요소에 대해 주어진 조건을 만족하는 요소들로 이루어진 새로운 배열을 생성
풀이 2
반복문으로 짝수와 홀수의 개수를 세어서 배열에 넣기
function solution(num_list) {
var answer = [0, 0];
// a가 짝수이면 0, 홀수이면 1
for (let a of num_list){
answer[a % 2] += 1
}
return answer;
}
문자 반복 출력하기
문제 설명
- 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 ≤ my_string 길이 ≤ 5
- 2 ≤ n ≤ 10
- "my_string"은 영어 대소문자로 이루어져 있습니다.
입출력 예
my_string | n | result |
"hello" | 3 | "hhheeellllllooo" |
풀이 1
배열을 만들고 각 문자에 대해 repeat 매서드 사용
function solution(my_string, n) {
var answer = [...my_string].map(v => v.repeat(n)).join("");
return answer;
}
[...my_string]은 스프레드 연산자를 사용하여 문자열을 배열로 변환 → ['h', 'e', 'l', 'l', 'o']와 같은 배열이 생성
map 함수는 배열의 각 요소에 대해 주어진 함수를 호출하고, 그 결과를 가지고 새로운 배열을 생성
화살표 함수 v => v.repeat(n)는 각 문자(v)를 주어진 횟수(n)만큼 반복하는 문자열을 반환
풀이 2
for of 반복문
function solution(my_string, n) {
var answer = '';
for (i = 0; i < my_string.length; i++) {
answer += my_string[i].repeat(n)
}
return answer;
}
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 입문 Day 8 배열, 구현, 수학 (Javascript) (0) | 2023.12.19 |
---|---|
[프로그래머스] 입문 Day 7 문자열, 조건문, 수학, 반복문 (Javascript) (0) | 2023.12.19 |
[프로그래머스] 입문 Day 5 수학, 배열 (Javascript) (0) | 2023.12.15 |
[프로그래머스] 입문 Day 4 수학, 배열 (Javascript) (0) | 2023.12.14 |
[프로그래머스] 입문 Day 3 사칙연산, 배열, 수학 (Javascript) (0) | 2023.12.12 |