Study 28.

WorldWannyWeb.·2021년 5월 20일
0

Study

목록 보기
26/35
post-thumbnail

2021-05-20


코드, 면접문제중 아무거나 2문제씩


1. 제일 작은 수 제거하기

문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

제한 조건
arr은 길이 1 이상인 배열입니다.
인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

입출력 예
arr return
[4,3,2,1][4,3,2]
[10][-1]

Answer

code

function solution(arr) {
  let sortArr = [...arr].sort((a, b) => b - a);
  let min = sortArr[sortArr.length - 1];
  if (arr.length <= 1) {
    return [-1];
  } else {
    arr.splice(arr.indexOf(min), 1);
  }
  return arr;
}

다른풀이

function solution(arr) {
  let answer = [];
  if (arr.length === 1) {
    return [-1];
  } else {
    arr.splice(arr.indexOf(Math.min(...arr)), 1);
  }
  return arr;
}

description
나는 왜 쉽게 풀지 못하는 것인가,,,,


2. 직사각형 별찍기

문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

제한 조건
n과 m은 각각 1000 이하인 자연수입니다.

입출력 예
입력

5 3
출력

*****
*****
*****

Answer

code

process.stdin.setEncoding('utf8');
process.stdin.on('data', (data) => {
  const n = data.split(' ');
  const a = Number(n[0]),
    b = Number(n[1]);

  const row = `${'*'.repeat(a)}\n`;
  console.log(row.repeat(b));
});

description
repeat() str을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환
str.repeat(count);


3. 핸드폰 번호 가리기

문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
s는 길이 4 이상, 20이하인 문자열입니다.

입출력 예
phone_number return
"01033334444" "***4444"
"027778888" "*8888"

Answer

code

function solution(phone_number) {
  let answer = '';
  for (let i = 0; i < phone_number.length; i++) {
    if (i >= phone_number.length - 4) {
      answer += phone_number[i];
    } else {
      answer += '*';
    }
  }
  return answer;
}

다른풀이

function solution(num) {
  const len = num.length - 4;
  return '*'.repeat(len) + num.substring(len);
}

description
substring() string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 str의 부분 str을 반환
const str = 'Mozilla';
str.substring(1, 3) // "oz"
str.substring(2) // "zilla"

profile
와니완의 월드와이드와니웹🐥

0개의 댓글