[스파르타내배캠][TIL] 2023/10/18
오늘의 Review
한 일🧵
[알고리즘 스터디]
스파르타 내배캠에서 팀끼리 계획표를 짜고 약속을 정하라고 하는 덕분에
다같이 알고리즘 스터디를 시작했다! 오늘부터 당장!
프로그래머스에서 3문제씩 돌아가면서 정하고, 매일 2시에 리뷰를 하기로 함.
첫날이라 하나씩 정해서 푼 문제를 리뷰했는데,
역시 먼저 풀어온거랑 그냥 듣기만 하는거는 차원이 다르다.
모르는 부분이 생겨도 바로바로 해결해 줄 수가 없음..다들 초보라..
따로 생각할 시간이 필요하다.
문제풀이를 하다보니 부족한 점이 확실하게 보인다.
[javascript 강의]
문제 풀이에 얶매이는 덕분에 강의는 4주차 밖에 못들었다! ㅋㅋ
부족한 점 / 할 일💥
자주 사용하는 배열,문자열 메서드 익숙해지기
전통적인 C 문법에서 점점 벗어나 보자.
for in, for of, 화살표 함수, method 사용 연습~!~!~!
TIL (Today I Learned) ➕➖✖➗
강의에서 배운거는 습득을 못해서 쓰지를 못함...^.^
하루에 하나만 연습하자.
1. 문자열 메서드 : repeat()
repeat() 메서드는 문자열을 주어진 매개변수 count 번의 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.
console.log(str.repeat(count));
const mood = 'Happy! ';
console.log(`I feel ${mood.repeat(3)}`);
// Expected output: "I feel Happy! Happy! Happy! "
매개변수
count : 문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +∞)).
리턴값
현재 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열.
3. repeat() 메소드를 이용해 다음 문제를 풀어보자!
https://school.programmers.co.kr/learn/courses/30/lessons/181950#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
3. 내 답
(before) str에 더하기 연산자 사용
문자열을 더해주는 concat() 메소드 이용 가능한데, mdn 문서로 보니 배열을 결합해주는 array 메소드라는 사실..
그래서 배열과 문자열의 경계는 어디까지인가..-_- 문서상 유사 배열객체라 가능한 것 같다.
Array 인스턴스의 concat() 메서드는 두 개 이상의 배열을 병합하는 데 사용됩니다. 이 메서드는 기존 배열을 변경하지 않고, 새 배열을 반환합니다.
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
// Expected output: Array ["a", "b", "c", "d", "e", "f"]
매개변수
valueN Optional
새 배열로 연결할 배열 및/또는 값입니다.
모든 valueN 매개변수가 생략된 경우, concat은 호출된 기존 배열의 얕은 복사본을 반환합니다.
반환값
새로운 Array 객체.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
str = input[0];
n = Number(input[1]);
let i=0;
while (i < n-1) {
//str=str.concat(input[0]); //18라인대체가능 : 문자열 더하기 메서드
str+=input[0];
i++;
}
console.log(str);
});
//테스트 1 〉 통과 (53.63ms, 32.4MB)
//테스트 2 〉 통과 (46.55ms, 32.3MB)
//테스트 3 〉 통과 (53.36ms, 32.4MB)
(after) repeat 메소드 사용 시 시간은 더 오래걸림.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
str = input[0];
n = Number(input[1]);
console.log(str.repeat(n));
});
// 테스트 1 〉 통과 (261.45ms, 31.8MB)
// 테스트 2 〉 통과 (280.63ms, 31.8MB)
// 테스트 3 〉 통과 (62.16ms, 32.4MB)