직각삼각형 출력하기

 

문제 설명

"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다.
정수 n 이 주어지면 높이와 너비가 n인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.

 

제한 사항

1 ≤ n ≤ 10

 

입출력 예

입력 ♯1

3
출력 ♯1

*
**
***

 

 

나의 풀이

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 () {
    for(let i = 1; i <= +input[0]; i += 1)
    console.log('*'.repeat(i));
});

 

 

'readline' 모듈을 사용하여 터미널에서 사용자 입력을 받는다.

'line' 이벤트가 발생할 때마다 입력값을 공백을 기준으로 나누어 'input' 배열에 저장한다.

'close' 이벤트가 발생하면, 입력 ㅂ다은 값으로 직각삼각형을 출력하는 로직이 실행된다

 

'input[0] 은 사용자로부터 입력받은 값 중 첫 번째 값으로 사용자가 몇 줄짜리 삼각형을 출력하고 싶은지를 나타낸다.

'*'.repeat(i)'는 문자열을 반복해 생성하는 메서드로, i번째 줄까지 문자를 반복하여 출력한다. 따라 사용자 입력 값에 따라 점점 늘어나는 직각삼각형이 출력된다.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/120815

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이 과정 

 

function solution(n) {
    for(let i = 1; i < 6 * n; i++) {
        if ((6 * i) % n === 0){
            return i
        }
    }
}

/*
i가 1부터 시작하여 6의 배수로 증가하는 반복문이 있습니다. (for(let i = 1; i < 6 * n; i++))

반복문 안에서는 (6 * i) % n이 0이 되는 첫 번째 i 값을 찾습니다.

찾았다면 그 값을 반환합니다. (return i)
*/

문제 설명
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

제한사항
1 ≤ n ≤ 100
입출력 예
n result
10 [1, 3, 5, 7, 9]
15 [1, 3, 5, 7, 9, 11, 13, 15]
입출력 예 설명
입출력 #1

10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.
입출력 #1

15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.

 

 

풀이 

function solution(n) {
  // 빈 배열을 선언합니다.
  let answer = [];

  // 1부터 n까지 2씩 증가하면서 반복합니다.
  for (let i = 1; i <= n; i += 2) {
    // 현재 숫자 i가 홀수인 경우에만 배열에 추가합니다.
    if (i % 2 !== 0) answer.push(i);
  }

  // 최종적으로 홀수만 담긴 배열을 반환합니다.
  return answer;
}

프로그래머스 Lv0 코딩테스트 입문 

 

문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 
array
가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

 

풀이 

function solution(arr) {
    // 배열 길이 중 중앙값 (중간 index) 찾기
    const mid_num = Math.floor(arr.length / 2);
  
    // 오름차순으로 정렬하기 - sort() 메서드 사용
    const asc_arr = arr.sort((a, b) => a - b);
  
    // 오름차순된 새로운 배열 중 중간 index 반환하기
    return asc_arr[mid_num];
}


// 화살표함수
const solution = arr => [...arr].sort((a,b) => a - b)[Math.floor(arr.length / 2)];

 

'Conding Test > 프로그래머스' 카테고리의 다른 글

[JS] Lv0 나머지 구하기(JS)  (0) 2023.11.09

나머지 구하기

 

<문제>

정수 num1num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.

 

 

 

const solution = (num1, num2) => num1 % num2

 

'Conding Test > 프로그래머스' 카테고리의 다른 글

[JS] 프로그래머스 중앙값 구하기  (1) 2023.11.23

문제링크

 

코딩테스트 연습 - 여러 기준으로 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

 

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAME TYPE NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

 

 

 

예시

예를 들어, ANIMAL_INS ㅌ이블이 다음과 같다면 

ANIMAL_ID ANIMAL_TYPE DATETIME INTAKE_CONDITION NAME SEX_UPON_INTAKE
A349996 Cat 2018-01-22 14:32:00 Normal Sugar Neutered Male
A350276 Cat 2017-08-13 13:50:00 Normal Jewel Spayed Female
A396810 Dog 2016-08-22 16:13:00 Injured Raven Spayed Female
A410668 Cat 2015-11-19 13:41:00 Normal Raven Spayed Female

 

  1. 이름을 사전 순으로 정렬하면 다음과 같으며, 'Jewel', 'Raven', 'Sugar'
  2. 'Raven'이라는 이름을 가진 개와 고양이가 있으므로, 이 중에서는 보호를 나중에 시작한 개를 먼저 조회합니다.

 

따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_ID NAME DATETIME
A350276 Jewel 2017-08-13 13:50:00
A396810 Raven 2016-08-22 16:13:00
A410668 Raven 2015-11-19 13:41:00
A349996 Sugar 2018-01-22 14:32:00

 

 

 

정답

SELECT ANIMAL_ID,NAME,DATETIME 
from ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;


-- ASC 오름차순 / DESC 내림차순

문제설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE 는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

 

NAME TYPE NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

 

 

동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

ANIMAL_ID NAME
A349996 Sugar
A350276 Jewel
A350375 Meo
A352555 Harley
A352713 Gia
A352872 Peanutbutter
A353259 Bj

..이하 생략

 

정답

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

문제 링크

 

코딩테스트 연습 - 어린 동물 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAME TYPE NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_ID ANIMAL_TYPE DATETIME INTAKE_CONDITION NAME SEX_UPON_INTAKE
A365172 Dog @Aug 26, 2014 12:53 PM Normal Diablo Neutered Male
A367012 Dog @Sep 16, 2015 9:06 AM Sick Miller Neutered Male
A365302 Dog @Jan 8, 2017 4:34 PM Aged Minnie Spayed Female
A381217 Dog @Jul 8, 2017 9:41 AM Sick Cherokee Neutered Male

이 중 젊은 동물은 Diablo, Miller, Cherokee입니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

title NAME
A365172 Diablo
A367012 Miller
A381217 Cherokee

 

정답

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != "Aged";

+ Recent posts