반응형
하다가 정말 어려웠던 것만 블로그에 글을 남길 생각이었는데 벌써 세개째 쓰고 있다.
이건 로직 자체가 어려운건 아닌데 기본 코드 세팅이 롸..? 하게 만드는 상태라 기록해두려고 한다.
문제 : 직각삼각형 출력하기
문제 설명
"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.
제한사항
- 1 ≤ n ≤ 10
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 () {
console.log(Number(input[0]));
});
▲ 문제 풀기 전에 제시되는 코드
처음 보면 뭔가 싶다. 음? require가 있네..? 난 require 번들러 관련 config 파일에서만 본 것 같은데...
그래서 어디에 코드를 작성하란건지 감도 안잡히는 상태에서 라인이라는 녀석이 신경쓰였다.
어쨌든 위의 코드는 필요로 하는 인터페이스 받아오는걸로 이해하겠고, 그럼 line이 n을 제시하는건가 보다.
라고 생각하며 아무것도 안한 채로 코드실행 눌러보니 역시나 콘솔에 숫자가 찍힌다.
그럼 저아래로 별찍어주는 코드만 작성하면 되겠거니 하면서 코드 작성했다.
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 () {
const n = Number(input[0]);
let line = 1;
while (line <= n) {
let repeat = 0;
let starStr = '';
while(repeat < line) {
repeat = repeat + 1;
starStr = starStr + '*'
}
line = line + 1;
console.log(starStr);
}
});
line의 크기를 n에 도달할때까지 키우면서 가로로 line 개수만큼 별찍는 코드다.
이 문제 보고나니까 미지의 세계에 대한 두려움만 극복하면 뭐가 됐든 할 수 있다는 느낌이 든다.
질문이나 이런데 보니까 대부분 저 처음 코드 보고 멘붕 오는 것 같던데 코테 준비하는 사람들 모두 어떻게든 넘어설 수 있으면 좋겠다.
LIST
'Dev > Algorithm' 카테고리의 다른 글
[코딩테스트] 다항식 더하기 (0) | 2023.05.17 |
---|---|
[Algorithm] 큐와 스택(Queue, Stack) 그리고 트리(Tree) (0) | 2023.04.17 |
[코딩테스트] 최빈값 구하기 (0) | 2023.04.14 |
[코딩테스트] 분수의 덧셈 (0) | 2023.04.14 |
[코딩테스트]등수 매기기 (0) | 2023.04.14 |