250x250
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 | 31 |
Tags
- chromatic error
- 렌더링 최적화
- 항해99 미니프로젝트
- 함수형 프로그래밍 특징
- 항해99
- js배열 알고리즘
- 항해99 사전스터디
- v8 원리
- 웹 크롤링
- toggle-btn
- 리액트
- FP 특징
- 리액트 렌더링 최적화
- 테스트 코드 툴 비교
- 알고리즘
- this
- 리액트 메모
- gql restapi 차이
- 코어자바스크립트
- 실행컨텍스트
- 리덕스
- 웹팩 기본개념
- 자바스크립트 엔진 v8
- JS module system
- 항해99 부트캠프
- jwt
- next js
- 리액트 메모이제이션
- 타입스크립트
- Js module
Archives
- Today
- Total
Jaeilit
별찍기 본문
728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/12969
주어진 b가 가로 a 가 세로 만큼 별을 찍으면 된다.
for문을 얼마나 이해하고있는가에 대한 문제일까?
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
let answer = ''
for(let i=0; i<b; i++){
for(let j=0; j<a; j++){
answer += '*'
}
answer +='\n'
}
console.log(answer)
});
아직 초보지만 BigO 를 생각해보면 5n^2 + 2 인거 같다.
제한조건 : n과 m은 각각 1000 이하인 자연수입니다.
제한조건이 1000이하가 아니면 아마 성능이 박살나서 실패하지 않았을까..??
다른 정답자의 코드를 보니 for 문을 쓰지 않고 repeat 라는 문자열 반복해주는 메서드를 사용했다.
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
console.log((('*').repeat(a)+`\n`).repeat(b))
});
성능적으로도 2중 for문보다 좋았다.
728x90